- 17 Feb, 2018 7 commits
-
-
Debargha Mukherjee authored
This addesses a crash in a situation where the scaled convolve function is called without a valid dst buffer in the conv_params structure. Change-Id: Ia4a0a1213f06447155d6c92aa9efc183d8c4a79c
-
Zoe Liu authored
This flag enables an extra bit in the frame header to indicate the signaling choice of the reference frames in the frame header. Change-Id: I67ef0cbb0673bf877189236b5060f2a854a05d11
-
Jingning Han authored
Change-Id: I24e98062fec2cf73e294d34bf02419f7917a9bf0
-
Jingning Han authored
Fix the rate cost count when the optimize_b route is set off in the rate-distortion optimization process. Thanks to pohhsu@microsoft for finding this issue and pointing the fix. Change-Id: I54d9ec8102792a1575fc66bc6be2003e94eeb488
-
Jingning Han authored
When a coding block runs VERT_A partition, the coding order does not follow raster order. This requires a special handle on the bottom left square block to disable its reference towards the top-right corner. Prior to this change the codebase would disable the bottom-right square, as well as the right rectangular blocks, from referencing the top-right mv. This commit fixes such check condition to allow the right rectangular block to access the top right mv. BUG=aomedia:1343 Change-Id: I87049f0cec8ed7557a87c3fdef83e01498bbcd75
-
Jingning Han authored
Remove deprecated context models for drl index coding. BUG=aomedia:1208 Change-Id: If255fa93d0c746738f0fc005464388e790c89b63
-
Urvang Joshi authored
Change-Id: I40b7672ed98f2d1a49a7a9aabfd313ba64b3e8fb
-
- 16 Feb, 2018 17 commits
-
-
Johann authored
The 4x2 transforms gives a compile warning with gcc 6.3.0 but appears to be unused: *((void *)&temp2+8)' is used uninitialized in this function Change-Id: I8b08e05d0365dc117b5374ec00bddc6f7bd84bd3
-
Tom Finegan authored
Also some minor cosmetic changes and style fixes. BUG=aomedia:1125 Change-Id: Ide24057736376accd2f9907ef87b5a725ab3f3c2
-
Angie Chiang authored
Change-Id: I103547d5bd4c9537cc0640a10d50f5c3cb6b7771
-
Jingning Han authored
Make the convolve_2d_sr_avx2 to support various bit shift options. Turn back on the SIMD functions for av1_convolve_2d_sr. Change-Id: I38b29eee40831c8c88e574884205bc0fdf886916
-
Jingning Han authored
Make the convolve_2d_sr_sse2 support all the bit shift tuning settings in CONFIG_LOWPRECISION_BLEND and off. Change-Id: I497105d9d7f0a0f9c5edcac55b366825ec13a2ed
-
Angie Chiang authored
Let the cdf update order match the actual coding order Change-Id: Iaac0830b2530228ce1a4ea95d842c573dd3d0684
-
Angie Chiang authored
av1_read_coeffs_txb() is sped up by 10% The overall decoder is sped up by 1% The speed performance is tested by runing city_cif.y4m on speed1 with bitrate 1000 BUG=aomedia:1369 Change-Id: I0de5402a88fbb3ea46905a23b32627eba681a250
-
Luc Trudeau authored
When the CMAKE_SYSTEM_PROCESSOR is aarch64, AOM_TARGET_CPU is set to arm64. BUG=aomedia:1385 Change-Id: I35676a3ad8a90dc814fe8acb2a9b56fbf60b3700
-
Debargha Mukherjee authored
Some fixes and additions of asserts. Change-Id: Ib5f706baf48acb2853f7fe55991efa95e6a848de
-
Luc Trudeau authored
Change-Id: I474cd6d75074eb908e8fcf317c2524e3c7f72269
-
Cheng Chen authored
Avoid reading/writing out side of buffer. Triggered by ASAN. Change-Id: I7de2a9f01cc13feb1c13556dfe77e9e6e7e55056
-
David Barker authored
Although the clamping for the inverse transforms is still being discussed, it is useful to have clear code. The current code is not ideal - both av1_inv_txfm1d.c and av1_inv_txfm2d.c have functions called clamp_buf(), but they do different things - one clamps to the exact number of bits passed in, the other optionally clamps to 16 bits. This commit refactors things so that: * clamp_* always clamps to the exact number of bits passed in To compensate, we push the "if bit <= 16: clamp to 16 bits" logic into the callers of the clamp_* functions * We deduplicate some of the code BUG=aomedia:1352 Change-Id: I1b9d85d6db5d291814c055a8113b7b054690b04c
-
Linfeng Zhang authored
Change from 2D to 1D to reduce number of tables. Change-Id: I6569a757afae5a748e4d84df687468fe460eaa5a
-
Linfeng Zhang authored
Provide full width and height in functions' names. Change-Id: I2439ddbce0ad37084547ece9f62c7d6ce12d87f9
-
Linfeng Zhang authored
Change-Id: Ie290cd3512a3cc20b56815048e3470bd9d78abb5
-
Debargha Mukherjee authored
This macro is same as FILTER_BITS and the two can be safely merged. Change-Id: Idbc7e6492c14070aa6eb054ce3c0a30bc89d41be
-
Debargha Mukherjee authored
Change-Id: I2c77dd79c47901f8038ad7531679c3acc7b70dfe
-
- 15 Feb, 2018 12 commits
-
-
Jingning Han authored
Reduce the blk_skip array size to the maximum txb numbers in a coding block. This makes the speed 1 about 5% faster for smaller resolution clips. Change-Id: I1812dc4d403e08f0566ead8a14c6046e505bb849
-
Jingning Han authored
The maximum coding block size is 128 and the minimum tx size is 4. Using 32 per dimension to keep the txb coeff cost should be safe. Change-Id: Ie44fc581037f0d8270caec64543454701159eec5
-
Jingning Han authored
Change-Id: Iadf001ae293ca50b805e8b8c569900f60a23943c
-
David Barker authored
Commit ea190906 fixed a major bug in has_top_right(), but missed out one special case: Consider a 128x128 block using 64x64 intra predictions. These intra predictions are applied in a 'Z' order, and so the bottom-left 64x64 unit has pixels available from the top-right one. But we were mistakenly setting has_top_right() = 0 for this case. More generally, whichever transform unit has its top-right corner at the center of a 128x128 block, should have has_top_right() = 1. Fix this by introducing an explicit check for the special case. BUG=aomedia:1309 Change-Id: I690a292be6c1755c76bd428be94ab953dd71fbd2
-
Yaowu Xu authored
The experiment is fully adopted. Change-Id: I6cc80a2acf0c93c13b0e36e6f4a2378fe5ce33c3
-
Debargha Mukherjee authored
Discontinue all VP9 style convolve rounding operations in the non-normative parts of the encoder. The function av1_convolve_2d_sr_c is forced instead of SIMD versions of the same function, because of incompatibility when round_1 > 0. In the -DCONFIG_LOWPRECISION_BLEND=2 -DCONFIG_HIGHPRECISION_INTBUF=1 setting, results on 15 frames of lowres (cpu-used=1) is -0.019% better. Change-Id: I72154bd896357c352c944fb2cd3b25bafafba46a
-
Dominic Symes authored
When bit_depth is 8 the copy_rect function was setting the size to 2 bytes per sample. This causes a buffer overflow as each line copied in the loop is twice the number of bytes it should be and the last line writes off the end of the buffer. BUG=aomedia:1389 Change-Id: Ib9fa11d1dd13806dedbce2cd47dd8d562007428d
-
David Barker authored
Superres should not be used together with intrabc, for the same reasons why the other loop filters are disabled when intrabc is used. However, we actually read superres information first, so the simplest change is to only read allow_intrabc if superres is off. BUG=aomedia:1384 Change-Id: I55c4c8ace72ab3fac9417da5cf803883be7efb84
-
Yaowu Xu authored
BUG=aomedia:1383 Change-Id: I8c3de068fd158b4706b578f7609c8ef939364525
-
Luc Trudeau authored
Includes unit tests for conformance and speed. SSSE2/CFLSubAvgTest 4x4: C time = 234 us, SIMD time = 152 us (~1.5x) 8x8: C time = 664 us, SIMD time = 208 us (~3.2x) 16x16: C time = 1687 us, SIMD time = 581 us (~2.9x) 32x32: C time = 6118 us, SIMD time = 2119 us (~2.9x) AVX2/CFLSubAvgTest 4x4: C time = 250 us, SIMD time = 221 us (~1.1x) 8x8: C time = 683 us, SIMD time = 284 us (~2.4x) 16x16: C time = 1727 us, SIMD time = 1091 us (~1.6x) 32x32: C time = 6092 us, SIMD time = 2107 us (~2.9x) Change-Id: I44ffedc683829d2c16089854ac43d4ddb4415bcd
-
Andrey Norkin authored
BUG=aomedia:1366 BUG=aomedia:1368 Change-Id: I63f84dca86ca426b9c6927b056657741022d5f68
-
Angie Chiang authored
Move tcoeff reconstruction from the for loop of reading lower levels to the loop of reading signs This is to facilitate the potential simd optimization of reading lower levels Change-Id: I61e41ea95d30a948243fb13e3d708dd9860a058a
-
- 14 Feb, 2018 4 commits
-
-
David Barker authored
As pointed out by rsbultje, my previous patch to is_smooth() (a883e6ea) was not quite correct. This is because, when we're making a chroma prediction, the uv_mode for the above/left chroma predictions is not necessarily in above_mbmi/left_mbmi. Instead, it may be in any of several places, depending on subsampling and the values of mi_row/mi_col. The cleanest solution is to explicitly maintain pointers to the above and left chroma blocks. Then we can simply look at those pointers when we want to know the above or left uv_mode. Also include a bit of refactoring of get_filt_type: It seems to be recalculating what's already in xd->{above,left}_mi, so just use those directly. BUG=aomedia:1362 Change-Id: I0230474a50d43b78cb587a2b553da9ca78cec0c6
-
Cheng Chen authored
Fixed a bug in jnt_comp simd function. Re-write the function based on existing av1_warp_affine_ssse3. The function is almost the same as av1_warp_affine_ssse3, only difference is the weighted computation of final value. Change-Id: I65f2fadc9142f6c264a7d0e59250602636c9808b
-
Peng Bin authored
Replace the last parameter cos_bit for all 1D inv_txfm funcions with a macro define, as it is actually always equal to 12. By changing it to const value, compiler can do further optimization. Change-Id: If8a9fd99c7ac7eb6f485dafbce22b4803efda62e
-
Linfeng Zhang authored
Change-Id: I9ab260c5ca31fe7e06bfc0f806893463c5255c45
-