- 06 Dec, 2016 2 commits
-
-
Jingning Han authored
Change-Id: I99d3abd47480ebd73fc0034fac82663c003f7bb8
-
David Barker authored
Relative to previous ext-inter: lowres: -0.177% or -0.029% (with USE_RECT_INTERINTRA = 0) * When predicting interintra modes, the previous code did not provide the intra predictor with the correct context during rdopt. Add an explicit 'ctx' parameter to the relevant functions, to provide this context. This fixes a nondeterminism bug, which was causing test failures in *EncoderThreadTest* * For rectangular blocks, build_intra_predictors_for_interintra needs to overwrite part of the context buffer in order to set up the correct context for intra prediction. We now restore the original contents afterwards. * Add a flag to enable/disable rectangular interintra prediction; disabling improves encoding speed but reduces BDRATE improvement. Change-Id: I7458c036c7f94df9ab1ba0c7efa79aeaa7e17118
-
- 05 Dec, 2016 2 commits
-
-
Jingning Han authored
Replace hard coded numbers with table fetch. Support scalability in transform block operating unit. Change-Id: I4a5e67576e72de4936ac52d1401412ca6217ed6d
-
Jingning Han authored
Refactor to remove the assumption that transform block operates in the unit of 4x4. This generalizes the codec to support 2x2 transform block later. Change-Id: If1448a915f5765d409394c914af68f44b0749bc2
-
- 02 Dec, 2016 2 commits
-
-
Jingning Han authored
If the coding block size is 4x4, map the uv transform block size to 2x2 in non-444 format. Change-Id: I5767df7c6c1f73938f97745d604207caad6f7d68
-
Urvang Joshi authored
Updates to enums and mappings as needed. Change-Id: Ie3a71031c74a5d4caa5308f0e210ed23c2361e95
-
- 01 Dec, 2016 1 commit
-
-
Sarah Parker authored
No change in performance Change-Id: Ie105a7baf6a2c2258d3ef117e727957e4393f51b
-
- 29 Nov, 2016 1 commit
-
-
Yue Chen authored
Performance gain (REF_MV on by default) WARPED_MOTION: 1.061% WARPED_MOTION+MOTION_VAR: 2.917% MOTION_VAR: 2.337% Change-Id: I43f742a02cdd43d13ef333a0a15087062ad020ab
-
- 28 Nov, 2016 1 commit
-
-
Urvang Joshi authored
This is added as part of ALT_INTRA experiment. This uses interpolation between top row and estimated bottom row; as well as left column and estimated right column to generate the predicted block.The interpolation is done using a predefined weight array. Based on experiments, the currently chosen weight array was created to represent a quadratic curve, but can be tuned further if needed. Improvement from baseline on Derf set: ALL Keyframes: 1.279% Improvement from existing ALT_INTRA: ALL Keyframes: 1.146% Change-Id: I12637fa1b91bd836f1c59b27d6caee2004acbdd4
-
- 23 Nov, 2016 1 commit
-
-
Debargha Mukherjee authored
Change-Id: I95455ed7e44f3a163c751bd8a89f6119c0055c71
-
- 21 Nov, 2016 1 commit
-
-
iole moccagatta authored
This commit adds an experiment to interleave the coding of transform coefficients from YUV planes. The experiment can be enabled at config time by --enable-coef-interleave. Change-Id: Ifd92f9c367304bca9732f13fa026eb8996363677
-
- 12 Nov, 2016 1 commit
-
-
Angie Chiang authored
Change-Id: Ib56273c23b7c7cb7c44d5ed95078156f1b09144c
-
- 11 Nov, 2016 2 commits
-
-
Sarah Parker authored
This is currently just a refactor and creates no change in performance. It allows new compound types to be added easily in the future to facilitate experiments with segmentation masks. Change-Id: If48fed216d482454fabb45a304b4220ada0dbdee
-
David Barker authored
After https://aomedia-review.googlesource.com/#/c/5589/ , the Global_Motion_Params and GLOBAL_MOTION_TYPE types are redundant, and can be removed in favour of WarpedMotionParams and TransformationType respectively. Change-Id: I33f3796e5c469e595fd012ccdb65a672dd1bb86c
-
- 10 Nov, 2016 1 commit
-
-
Jingning Han authored
This commit supports the recursive transform block partition to start with both square and rectangular transform block sizes. Change-Id: Idaf29d50cb1f4876b43e5ba82c2609708c6b1926
-
- 08 Nov, 2016 4 commits
-
-
Angie Chiang authored
This CL doesn't change any coding behavior. The functions modified in this CL include choose_smallest_tx_size() choose_largest_tx_size() choose_tx_size_type_from_rd() txfm_rd_in_plane() txfm_yrd() This change make the code cleaner and will facilitate rd_debug implementation Change-Id: I19b1b2384dce8b46b28d4c9baf80ff92998d05b6
-
Jingning Han authored
Replace max_tx_size with min_tx_size for transform type decision. Change-Id: I64e39923a67903d52b381bd93eaac33b3400a201
-
Yushin Cho authored
Since PVQ's max block size equals to the max transform size, daala's definition of OD_BSIZE_MAX was changed from 5 down to 4 to use AV1's max trasform size 32x32. However, dering also uses OD_BSIZE_MAX and assumes its value is 5, which caused dering not working. Change-Id: I9d82bb24adc7d57552a8e0a8a7e798e77d96fd4b
-
Yushin Cho authored
Since PVQ's max block size equals to the max transform size, daala's definition of OD_BSIZE_MAX was changed from 5 down to 4 to use AV1's max trasform size 32x32. However, dering also uses OD_BSIZE_MAX and assumes its value is 5, which caused dering not working. Change-Id: I9d82bb24adc7d57552a8e0a8a7e798e77d96fd4b
-
- 07 Nov, 2016 1 commit
-
-
Yushin Cho authored
PVQ replaces the scalar quantizer and coefficient coding with a new design originally developed in Daala. It currently depends on the Daala entropy coder although it could be adapted to work with another entropy coder if needed: ./configure --enable-experimental --enable-daala_ec --enable-pvq The version of PVQ in this commit is adapted from the following revision of Daala: https://github.com/xiph/daala/commit/fb51c1ade6a31b668a0157d89de8f0a4493162a8 More information about PVQ: - https://people.xiph.org/~jm/daala/pvq_demo/ - https://jmvalin.ca/papers/spie_pvq.pdf The following files are copied as-is from Daala with minimal adaptations, therefore we disable clang-format on those files to make it easier to synchronize the AV1 and Daala codebases in the future: av1/common/generic_code.c av1/common/generic_code.h av1/common/laplace_tables.c av1/common/partition.c av1/common/partition.h av1/common/pvq.c av1/common/pvq.h av1/common/state.c av1/common/state.h av1/common/zigzag.h av1/common/zigzag16.c av1/common/zigzag32.c av1/common/zigzag4.c av1/common/zigzag64.c av1/common/zigzag8.c av1/decoder/decint.h av1/decoder/generic_decoder.c av1/decoder/laplace_decoder.c av1/decoder/pvq_decoder.c av1/decoder/pvq_decoder.h av1/encoder/daala_compat_enc.c av1/encoder/encint.h av1/encoder/generic_encoder.c av1/encoder/laplace_encoder.c av1/encoder/pvq_encoder.c av1/encoder/pvq_encoder.h Known issues: - Lossless mode is not supported, '--lossless=1' will give the same result as '--end-usage=q --cq-level=1'. - High bit depth is not supported by PVQ. Change-Id: I1ae0d6517b87f4c1ccea944b2e12dc906979f25e
-
- 06 Nov, 2016 1 commit
-
-
Angie Chiang authored
With RD_STATS in MB_MODE_INFO, we will be able to compare the results from rate-distortion loop and the results from bitstream packing. Change-Id: If1dba7d87126577a6f369ac087d4517f7cebb0c5
-
- 04 Nov, 2016 3 commits
-
-
Yushin Cho authored
PVQ replaces the scalar quantizer and coefficient coding with a new design originally developed in Daala. It currently depends on the Daala entropy coder although it could be adapted to work with another entropy coder if needed: ./configure --enable-experimental --enable-daala_ec --enable-pvq The version of PVQ in this commit is adapted from the following revision of Daala: https://github.com/xiph/daala/commit/fb51c1ade6a31b668a0157d89de8f0a4493162a8 More information about PVQ: - https://people.xiph.org/~jm/daala/pvq_demo/ - https://jmvalin.ca/papers/spie_pvq.pdf The following files are copied as-is from Daala with minimal adaptations, therefore we disable clang-format on those files to make it easier to synchronize the AV1 and Daala codebases in the future: av1/common/generic_code.c av1/common/generic_code.h av1/common/laplace_tables.c av1/common/partition.c av1/common/partition.h av1/common/pvq.c av1/common/pvq.h av1/common/state.c av1/common/state.h av1/common/zigzag.h av1/common/zigzag16.c av1/common/zigzag32.c av1/common/zigzag4.c av1/common/zigzag64.c av1/common/zigzag8.c av1/decoder/decint.h av1/decoder/generic_decoder.c av1/decoder/laplace_decoder.c av1/decoder/pvq_decoder.c av1/decoder/pvq_decoder.h av1/encoder/daala_compat_enc.c av1/encoder/encint.h av1/encoder/generic_encoder.c av1/encoder/laplace_encoder.c av1/encoder/pvq_encoder.c av1/encoder/pvq_encoder.h Known issues: - Lossless mode is not supported, '--lossless=1' will give the same result as '--end-usage=q --cq-level=1'. - High bit depth is not supported by PVQ. Change-Id: I1ae0d6517b87f4c1ccea944b2e12dc906979f25e
-
Angie Chiang authored
Change-Id: Ie3082db5b0fead8c322b2aeede4eff7cd723ea12
-
Angie Chiang authored
This is just partial implementation Compare token cost of pack_mb_tokens/pack_txb_tokens with token cost from rate-distortion loop. If there is any difference, dump out mode info. Change-Id: I46b373ee2522c5047f799f36baf7cec5fbc06f06
-
- 31 Oct, 2016 1 commit
-
-
Jingning Han authored
Change-Id: I20040cdb5d9fdbf6c50082e5e17b4cfbd1926b13
-
- 27 Oct, 2016 1 commit
-
-
Jingning Han authored
Change-Id: Ie8bc40579720b8c402bbc8b23b6fd3a7a50834bb
-
- 26 Oct, 2016 1 commit
-
-
Jingning Han authored
It serves as a helper function to integrate various transform coding options. Change-Id: I64e7d0c88ea10137fa1ff1072d865eb0054c2a25
-
- 21 Oct, 2016 2 commits
-
-
Jingning Han authored
This prepares for the next refactoring to support 2x2 transform block sizes. Change-Id: Ia06bc487da34e853ef9323cd13e3d482e819db43
-
Jingning Han authored
Remove the separate implementations of set_contexts() in encoder and decoder. Change-Id: I9f6e9b075532faae0f74f885d9443589254258a7
-
- 20 Oct, 2016 2 commits
-
-
Peter de Rivaz authored
BUG=webm:1277 Change-Id: I052239e8a6c468da8704bdbbb663b59533c01be2
-
hui su authored
Prepare for the av1/nextgenv2 merge. Coding gain (%): lowres midres ext-intra 0.69 0.97 filter-intra 0.67 0.83 both 1.05 1.48 Change-Id: Ia24d6fafb3e484c4f92192e0b7eee5e39f4f4ee6
-
- 19 Oct, 2016 2 commits
-
-
Arild Fuldseth authored
Change-Id: I4128af44776d1f361bddc1fdffb75ed2224dbfa5
-
Urvang Joshi authored
- Const correctness - Refactoring - Make variables local when possible etc - Remove -Wcast-qual to allow explicitly casting away const. Cherry-picked from aomedia/master: c27fcccc And then a number of more const correctness changes to make sure other experiments build OK. Change-Id: I77c18d99d21218fbdc9b186d7ed3792dc401a0a0
-
- 14 Oct, 2016 1 commit
-
-
Urvang Joshi authored
This flag was already added to aomedia/master, so bringing it back to webm/nextgenv2, as part of an effort to get the two codebases in sync. Change-Id: I2b933a6a160e4210d1411a9e7978149eb8553205
-
- 13 Oct, 2016 1 commit
-
-
Yue Chen authored
To get ready for pulling AV1 to nextgenv2 Replace the experimental flag by MOTION_VAR. Rename major variables. Change-Id: If6cf4f37b9319c46d8f90df551cc7295d66ca205
-
- 02 Oct, 2016 1 commit
-
-
Debargha Mukherjee authored
Refactor to streamline the number of profiles needed, in preparation for the next steps. NO change in performance. Change-Id: I753b89299897857f3c250c316b4cdc4fedcb90e8
-
- 29 Sep, 2016 1 commit
-
-
Yue Chen authored
Disable rect_tx because we only support 4x4 Walsh-Hadamard transform in lossless mode. Fixes failure in ./test_libaom --gtest_filter=*Large*ScreencastQ0/1 Configuration: --enable-experimental --enable-var-tx --enable-rect-tx --enable-ref-mv --enable-ext_intra --enable-ext_tx --enable-debug --disable-optimizations Change-Id: Ib6b3494c7dcf7182f1cab9b138388d054851a23d
-
- 28 Sep, 2016 1 commit
-
-
Yaowu Xu authored
This commit merges the fix that separates "has_no_coeffs" from skip flag. Related tracking issue: https://bugs.chromium.org/p/webm/issues/detail?id=1014 Original libvpx commit: a5d930e4 Change-Id: Ieda635c97e08137c20c8a191262ec88f186d7b4e
-
- 26 Sep, 2016 2 commits
-
-
Yaowu Xu authored
This commit merges the fix that separates "has_no_coeffs" from skip flag. Related tracking issue: https://bugs.chromium.org/p/webm/issues/detail?id=1014 Original libvpx commit: a5d930e4 Change-Id: I7ec19d672a594907d7301ae3a2abef1fab373e5c