- 31 Aug, 2017 4 commits
-
-
Luc Trudeau authored
When Chroma from Luma is combined with chroma_sub8x8, the prediction used for sub8x8 blocks originates from multiple luma blocks. Extra asserts are added to validate that the prediction buffer contains all the required information. Change-Id: I305c46ce9b8292697e1d5b181d123461026da11c
-
hui su authored
Remove the token prob tables and counters. Change-Id: Ic63d52d80bb922fc10b586c27a20f2378618168c
-
Jingning Han authored
Enable the use of motion field estimation in the dynamic motion vector referencing system. With default experiments on, it improves the compression performance: lowres 1.2% midres 1.5% Change-Id: Ifc5b15a7239b5c3212ea50f326ab99d372034658
-
Jingning Han authored
Add frame index to the deocded frames. Store such information to the reference frame buffer pool. This design allows each frame to know its index in natural order, as well as its reference frames positions. Change-Id: I5bb36928dc5750a4fdcc582dca0d244d6482f400
-
- 30 Aug, 2017 1 commit
-
-
Sarah Parker authored
These are not currently being used for anything so there is no impact on performance. Change-Id: Ida4e0afcc10bee665f8daa379314cd18b3a4ea28
-
- 29 Aug, 2017 2 commits
-
-
Luc Trudeau authored
Decoder speed up, only store the luma reconstructed pixels when the UV_MODE=UV_CFL_PRED. Change-Id: If22e8e43311c55d7935d71bedcdaf01ffad2fee0
-
Sarah Parker authored
This will allow mrc-tx to use this function to read a signalled mask. No change in coding performance. Change-Id: I02103ad908086ba93129abf355c2dbc37121c076
-
- 25 Aug, 2017 1 commit
-
-
David Barker authored
Fix a rare case in which the tile boundary information was not set up properly in the decoder when using LOOPFILTERING_ACROSS_TILES The situation was: * One frame uses loop filtering across tiles. Then its tile boundary information is not needed, so is not calculated. * The next frame (in decode order) has the same size and the same tile layout, but doesn't use loop filtering across tiles. * Now the tile boundary information *is* needed, but we weren't recalculating it. This resulted in the loop filter being applied across tile boundaries even though we signalled not to. Since the conditions on when we can reuse the previous frame's boundary information are complex, and the overhead of calculating the tile boundaries is low, we avoid this issue by simply recalculating the boundary information each frame. Change-Id: I1f3cbb0537535bf38faaed4c21c07142e747f962
-
- 24 Aug, 2017 2 commits
-
-
Zoe Liu authored
Change-Id: I3259fbec7167e311f0bd12e309a227d9643bc86f
-
Rupert Swarbrick authored
Patch 323d535d fixes the reported bug but doesn't correctly read a global transformation of type TRANSLATION or AFFINE. Fortunately, clang gives a warning about the ignored expression. Change-Id: I1127d5d5b809bf016872a3ba97903599869d5357
-
- 23 Aug, 2017 2 commits
-
-
Angie Chiang authored
Change-Id: I7b0e998182b522274768e4b587080d8e88f3a223
-
Sarah Parker authored
BUG=aomedia:693 Change-Id: I09b34abc41ee6f85619f5a05f668e06491e542f0
-
- 22 Aug, 2017 5 commits
-
-
Cheng Chen authored
Change-Id: I5da893be07b3b9aa4351b5bb1af987f4992370ef
-
Lester Lu authored
Change get_lgt in order to integrate a later experiment lgt_from_pred with lgt. There are two main changes. The main purpose for this change is to unify get_fwd_lgt and get_inv_lgt functions into a get_lgt function so the lgt basis functions can always be selected through the same function in both forward and inverse transform paths. The structure of those functions will also be consistent with the get_lgt_from_pred functions that will be added in the lgt-from-pred experiment. These changes have no impact on the bitstream. Change-Id: Ifd3dfc1a9e1a250495830ddbf42c201e80aa913e
-
Jingning Han authored
Support the per symbol cdf update at the level map syntax element decoding process. Change-Id: Id58bf86fb1c7c72dd14ddaa3781caaa27f446ef7
-
Debargha Mukherjee authored
Change-Id: I1b789acc18f1e69fb5db069ccd8bd17815938e9d
- 21 Aug, 2017 2 commits
-
-
Yaowu Xu authored
BUG=aomedia:685 Change-Id: I0698b281fbaff2e77a50f5dc9a10d752de6c6f79
-
Debargha Mukherjee authored
Change-Id: Idcc4c4722bd0379c8667b60115bfd85cf779a6ac
-
- 19 Aug, 2017 4 commits
-
-
Cheng Chen authored
CONFIG_UV_LVL --> CONFIG_LOOPFILTER_LEVEL Change name because the experiment combines filter level search in U, V plane, and horizontal, vertical search in Y plane. Change-Id: Ia05b8f80cd93b60a0305eb94e5783559ef904c13
-
Cheng Chen authored
A new experiment for deblocking filter that separates vertical and horizontal filter strengths. This experiment is based on the assumption that non-flatness characteristics of vertical and horizontal direction may differ. Therefore selecting different filter strengths for vertical and horizontal can improve deblocking performance. The process of finding proper filter strength: 1. Search through the filter level under the constraint that (vertical == horizontal), and find the best solution. 2. Fix vertical level as the best solution found in step 1 and vary horizontal level to find the best value. 3. Fix the selected horizontal level, vary vertical level to find its best value. The experiment is working with UV_LVL, sharing the same config flag. The searching for horizontal and vertical filter strength only applies on Y plane for now. The experimental flag should be changed to filter_level later. Change-Id: I164eec8d3ccb3da7ff109c5c55f4b52c1536ddf1
-
Sarah Parker authored
Currently nothing forbids wedge from being signalled when the block is > 32X32, even though there is no corresponding wedge mask for that block size. BUG=aomedia:640 BUG=aomedia:636 Change-Id: I538be0229a12b5ef01b2e5a950c9f16ef9a5c51e
-
Jonathan Matthews authored
BUG=aomedia:697 Change-Id: Id7e971e515c9faa3df32e162befd57907278549d
-
- 18 Aug, 2017 1 commit
-
-
Hui Su authored
Coding gain becomes tiny on top of other experiments. Change-Id: Ia89b1c2a2653f3833dff8ac8bb612eaa3ba18446
-
- 17 Aug, 2017 1 commit
-
-
Yushin Cho authored
Use --tune=[cdef-dist|daala-dist] to enable them. Also, this commit set the use_activity_masking of PVQ as 0 by deafult, which means that PVQ assumes daala-dist is not used by default. Since we're currently not signaling which metric the encoder did use in the bitstream, the compile flag AV1_PVQ_ENABLE_ACTIVITY_MASKING will tell PVQ whether daala-dist is used or not. This commit is the last part of prep-work to remove DIST_8X8, CDEF_DIST, and DAALA_DIST experimental flags. Change-Id: Ia465b4d6fe64aac7f04852c8f9f4bac3409d2435
-
- 16 Aug, 2017 2 commits
-
-
Frederic Barbier authored
Fix a memory corruption introduced by commit f190a165 On some cases, when empty tiles are present, av1_set_across_tile_boundary_info() writes beyond mode info array. Sanity check added. BUG=aomedia:690 Change-Id: I8d87a2e183c69d0ed039c8b2f77b30434f837974
-
Zoe Liu authored
When ext-comp-refs is enabled, one-sided-compound is enabled by default, which ensures the use of ext-comp-refs is an extension of one-sided-compound. Both coding tools allow the use of same-sided reference frame pairs for compound prediction. Also, remove the dependency of ext-comp-refs on var-refs, i.e. these two coding tools can be independently enabled. They can still work together if both are enabled simultaneously. Change-Id: I3134e7e2956dc35d557fe814f5d801d473683650
-
- 15 Aug, 2017 3 commits
-
-
David Barker authored
* When wedge and compound-segment are disabled, we don't use compound_type_cdf, but it still gets copied around, averaged, etc. It's slightly nicer to avoid that when it isn't necessary. * Fix an anomaly with cb4x4: We had (schematically) 'if (bsize < 8X8 && CB4X4)', which is backwards when compared to other similar conditions elsewhere in the code. Change this to 'if (bsize < 8X8 && !CB4X4)" to match other code. Change-Id: If802cf4f305c30cd642d0d5dd6610b547b52a027
-
Debargha Mukherjee authored
1. Fixes logic for disabling global motion w/ resize. Turns off conditional write/read of global parameters since it does not work currenlty. To be fixed later. 2. Fixes call for av1_scale_if_required in encoder_frame_with_resize function 3. Remove asserts for the scaled convolve functions Change-Id: I6a0f18b5ab5cc819bc27ef9fc2f28b0e391643a0
-
Thomas Davies authored
No change to metrics, as quantization matrices are not used unless --enable-qm=1 is set on the command line. Fix no highbitdepth compilation, and fix compile errors and warnings for PVQ and NEW_QUANT experiments. Change-Id: I49aceb5acf6ca6790c81e760e5b208788f87086d
-
- 12 Aug, 2017 1 commit
-
-
Thomas Daede authored
Change-Id: I61165218afefe7fc59ad06a0abe0180754cdf7bd
-
- 11 Aug, 2017 1 commit
-
-
Steinar Midtskogen authored
Low latency, cpu-used=0: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.3162 | -0.6719 | -0.6535 | 0.0089 | -0.3890 | -0.1515 | -0.6682 High latency, cpu-used=0: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.0293 | -0.3556 | -0.5505 | 0.0684 | -0.0862 | 0.0513 | -0.2765 Low latency, cpu-used=4: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.2248 | -0.7764 | -0.6630 | -0.2109 | -0.3240 | -0.2532 | -0.6980 High latency, cpu-used=4: PSNR | PSNR Cb | PSNR Cr | PSNR HVS | SSIM | MS SSIM | CIEDE 2000 -0.1118 | -0.5841 | -0.7406 | -0.0463 | -0.2442 | -0.1064 | -0.4187 Change-Id: I9ca8399c8f45489541a66f535fb3d771eb1d59ab
-
- 10 Aug, 2017 2 commits
-
-
Urvang Joshi authored
This experiment is now adopted as it was cleared by Tapas. Note: Palette use can still be controlled by command-line option "--tune-content=..." in 'aomenc'. Change-Id: I832f49f20f60c34bdef5b424755849c496687e87
-
Urvang Joshi authored
The problem was that some functions were using scale_chroma_bsize() function to turn sub-8x8 'bsize' to 8x8 'bsize', and then the modified 'bsize' was being passed to rd_pick_intra_sbuv_mode() for example. In such cases, we cannot rely on the 'bsize' value passed to the function; instead, we need to look at the original mbmi->sb_type directly. Also: - Added created a common function can_use_palette() to refactor this logic into one place. - Added more asserts to easily catch such coding errors in future. BUG=aomedia:688 Change-Id: I2e9f20c8c5fbc4b3ff41b703a91a02758c3c632f
-
- 09 Aug, 2017 1 commit
-
-
Rupert Swarbrick authored
Since there are no CDFs set up for palettes for 4:1/1:4 blocks, we should make sure we don't try to use them. Without this patch, write_palette_mode_info gets called with a bsize of BLOCK_32X8 and reads (and writes) off the end of the palette_y_size_cdf array. This patch avoids calling it in this context and adds an assertion to make sure we don't read off the end of the array in future. The patch also adds the corresponding logic to rdopt.c. Change-Id: I4d9aea982d057e305a6b578f35457eada819d38f
-
- 08 Aug, 2017 1 commit
-
-
Thomas Davies authored
When AOM_QM is enabled, by default quantization matrices are flat unless enabled with --enable-qm=1. Re-use existing SIMD functions when a flat matrix is used, so that there is no speed deficit when AOM_QM is enabled. SIMD for the non-flat case is TBC. Change-Id: I1bb8da70d3dd5858dac15099610ddf61662e3d0d
-
- 07 Aug, 2017 1 commit
-
-
Wei-Ting Lin authored
Change-Id: I08340afd1bc667b97d96e5540cf5c126bcfaaab4
-
- 04 Aug, 2017 1 commit
-
-
Steinar Midtskogen authored
Name changes and code moves to bring code more in line with the design doc and an upcoming single-pass patch. No functional changes. Change-Id: I2bccd58c644e534b139f420b623390aa971fbdb0
-
- 02 Aug, 2017 1 commit
-
-
Yi Luo authored
Change-Id: I44bc9d8887526a5ee92bf79730fa3ce6c73b160b
-
- 01 Aug, 2017 1 commit
-
-
Thomas Daede authored
Because frame contexts now follow reference frames, explicit resets are no longer necessary, but can simply happen at the same time as reference frame resets. Change-Id: Idbed3794e3ed52fa298346943a3014fa1ca23897
-