- Jan 16, 2018
-
-
Johann Koenig authored
Change-Id: I32b2ce4839c359891841385467cf532b1ebe4a59
-
Yunqing Wang authored
The motion vector search result at single reference frame mode is stored for later use. There are some issues in current implementation. 1. single_newmv is only stored for 1st ref_mv, but not for other ref_mv values tested. 2. If single reference mode is skipped and not tested, single_newmv is not available. 3. Interintra mode always use single_newmv as its MV, which may not be available as mentioned above. To fix it, we store single_newmv for every ref_mv tested. In interintra mode, if single_newmv is not available, do motion search to find a MV. This was revealed by a motion vector unit test failure. BUG=aomedia:1190 Change-Id: I3e690587644d4c8c31337f37380b796a3d71a3f6
-
Linfeng Zhang authored
Test all possible sizes. Change-Id: I042c7eef6d7af149885606c1085fac76f913671e
-
Yushin Cho authored
Because spatial_segmewntation uses segfeature_active() for all the segments regardless of its delta_q value. BUG=aomedia:1196 Change-Id: Ibcb7b6e42f703fa02d7cb95143c56f8078a9d475
-
Rostislav Pehlivanov authored
BUG=aomedia:1215 Change-Id: Idc2d732e2574b61b5970d3fe9aa3723790a2be36
-
Frederic Barbier authored
Change-Id: I545f126f6ba724ff4e41294353c4f11a47c6e853
-
David Barker authored
The superres upscale process only generates cm->height many rows of pixels, but we were previously using cm->mi_rows*MI_SIZE many. The latter number are easily available before upscaling, but we ideally don't want to have to upscale extra rows. So we switch to only using cm->height many rows inside loop-restoration. While making this change, I found and fixed an issue with av1_get_tile_rect() when using horizontal subsampling + horizontal superres. Finally, note that this change does introduce an edge case which isn't obvious from the source code. This has been annotated as a comment in save_deblock_boundary_lines(). Change-Id: Ide2bd433d45baa0fb1198353d05eb21b9a903157
-
David Barker authored
Properly support loopfiltering-across-tiles in combination with superres and/or loop-restoration: Upscale one tile column at a time, rather than doing the whole frame at once. This allows us to correctly support the loop filter across tiles flag, by temporarily extending the left/right boundaries of each tile column to avoid sampling from adjacent tiles. This code is also reused by striped-loop-restoration, when upscaling the deblocked context above/below each stripe. That way, we i) ensure that the upscaling is done consistently, and ii) fix the last remaining case where loop-restoration didn't respect the loop filter across tiles flag. This also makes it easy to perform extension of the left/right edges of the frame "as needed", so we don't need to extend the frame borders immediately after deblocking. This should give marginally better CDEF filtering for frames using superres. Change-Id: I28712a177853a20c9eb2993e740da8ba7c95a8cc
-
David Michael Barr authored
Includes unit tests for conformance and speed. SSSE3/CFLPredictHBDTest: 4x4: C time = 1436 us, SIMD time = 358 us (~4x) 8x8: C time = 4821 us, SIMD time = 598 us (~8.1x) 16x16: C time = 18528 us, SIMD time = 1793 us (~10x) 32x32: C time = 72998 us, SIMD time = 6400 us (~11x) AVX2/CFLPredictHBDTest: 4x4: C time = 1436 us, SIMD time = 398 us (~3.6x) 8x8: C time = 4924 us, SIMD time = 644 us (~7.6x) 16x16: C time = 18624 us, SIMD time = 1617 us (~12x) 32x32: C time = 73509 us, SIMD time = 3635 us (~20x) Change-Id: Icbcfefbf165facdbd77c9b3861af2bbf464254a0
-
Sebastien Alaiwan authored
Change-Id: I4b271259a2c29619ac7a066bedb958400187ac20
-
Sebastien Alaiwan authored
Change-Id: I30531cc37243c778210e776f93a82e0d078821f1
-
- Jan 15, 2018
-
-
Yaowu Xu authored
BUG=aomedia:1228 Change-Id: Iaa88810426bd7fe059ededf30956ffc57b897d62
-
Yaowu Xu authored
This fixes a segmentation fault in unit test: AVX2/CFLPredictTest.PredictTest/7 Change-Id: I173340965f465a82019167e0964b9901683b60a8
-
Jingning Han authored
When the coding block size is above 64x64, process the YUV planes in each 64x64 block unit. BUG=aomedia:1055 Change-Id: If66f67514cc5de4a6cff94c9f74e335c241c8c9b
-
Sebastien Alaiwan authored
This experiment has been adopted, we can simplify the code by dropping the associated preprocessor conditionals. Change-Id: Ia2100f102de6d9d5a67ba7178a20a50202839636
-
Rostislav Pehlivanov authored
Was forgotten when commited. Happened only when temporal prediction was on. Change-Id: I08c3f03f3442d0b0c6c9aa0bb2a3943dcdb303ab
-
Sebastien Alaiwan authored
This experiment has been abandonned for AV1. Change-Id: Ib83ebbe13e8f50e4151f9de3d0158a5463436177
-
Ralph Giles authored
These large (200 KB) static stables are functionally read-only. Marking them const moves them to the read-only section of shared libraries, reducing memory footprint when multiple application processes are running simultaneously. Change-Id: I6b66ea8f512147f9762728ae01cea02a0fa71300
-
Yaowu Xu authored
4:4:0 has been removed from AV1 profiles, therefore there is no need to have these files for testing. Change-Id: Iaea1a7bba5f3211f34dfbc5f7975841cde277cf9
-
Zoe Liu authored
This experiment of ref-adapt removes the option of COMPOUND_REFERENCE from the frame level reference_mode setup, and hence removes 1 bit in the frame header syntax. It now allows only SINGLE_REFERENCE or REFERENCE_MODE_SELECT to specify in the frame header. No noticeable coding performance impact has been observed. Change-Id: I1bed64f927f31d396e8174a4f0c9119242bf0b5c
-
- Jan 14, 2018
-
-
Jingning Han authored
Make the intra mode transform block coding operation processed in 64x64 unit. BUG=aomedia:1055 Change-Id: I7cf0f38ce7afc87febfc6b26fd663e6a3392537c
-
Yaowu Xu authored
Change-Id: I48f492eefa2270c98071acc6575f75bccda7a5ce
-
Yaowu Xu authored
This fixes MSVC compiler warnings Change-Id: I0a5fecffee3c9747ec7a49748ef3dd0a7343a2bf
-
Hui Su authored
Change-Id: I44ad31b395c142ef2a8efa7ddcef0acf692776dd
-
- Jan 13, 2018
-
-
Yaowu Xu authored
This fixes several MSVC warnings. Change-Id: Id94f509a56d195afb48c3f2fa71986e0d8baafb4
-
Yaowu Xu authored
Change-Id: I40f4de4d58cb4958b3f3f48da4bbfc12d34dba8e
-
Hui Su authored
Initialize the RD_STATS variable to avoid valgrind error of "Conditional jump or move depends on uninitialised value(s)". BUG=aomedia:1219,aomedia:1226 Change-Id: Ie7749c8297b377750f0901d07e2c6024552a10df
-
Deb Mukherjee authored
Update the profile update checks correctly in aomenc to be compliant with the new AV1 profiles. BUG=aomedia:1220 Change-Id: I047313ec282350244986eb5c1be8c5578c2c5de3
-
Deb Mukherjee authored
Previously the v component assignment was being skipped. This will make a difference with the EXT_QM experiment. Change-Id: I079d86e98f14f933756b300092246dc800ce4c96
-
Kyle Siefring authored
"ext-partition-types: Add 4:1 partitions" added a number SIMD functions. The SAD functions introduced in that patch were not added to the rtcd file and were not getting called. Hash of "ext-partition-types: Add 4:1 partitions" 93c39e91 Change-Id: I47094799e27d66f74311ff0bcff23ecb7eed8a76
-
Zoe Liu authored
This experiment of frame_sign_bias is to remove the 7 bits in the frame header that signal the sign bias value for the 7 reference frames. Instead of explicit signaling, this experiment is to use the frame_offset value to derive the frame sign bias. It achieves -0.08~-0.1% coding gain on average. It has been adopted by AOM. Change-Id: I543f2641d9a11cabfe822cd4daa8b88b938421d6
-
- Jan 12, 2018
-
-
Yue Chen authored
Interintra RDO is moved into motion_mode_rd instead of calling handle_inter_mode() separately. This will save time on interp filter and new mv search, also skips interintra modes if the base inter predictors are not good enough. Speedup: LL ~20% HL < 1% Tiny performnace improvements (<0.05%). Change-Id: If5b1ad22396df7590fbc1060e26b61734a205830
-
Sebastien Alaiwan authored
Change-Id: Ib7540dfd8a89399a4a4ffc0c221d4d710d8c8d12
-
Sebastien Alaiwan authored
Change-Id: Id4436c33dddc12d843d7975379be3c23bc73ba9c
-
Sebastien Alaiwan authored
Change-Id: I2890066b64b4fd8549a0c9a7741a7ec3274bdc3c
-
Hui Su authored
BUG=aomedia:1221 Change-Id: I2893ab3c6f5a2403512890ec4ea929abedb14421
-
Imdad Sardharwalla authored
The self-guided filter has now been implemented using the intrinsics for AVX2. The corresponding speed and correctness tests have also been added. Note: All AVX2 functions are in synonyms_avx2.h, as GCC produces 'ABI change' warnings if they are included in synonyms.h. Change-Id: I2a283a4acf8c01ee835d5edc526abc242d87ad9b
-
Imdad Sardharwalla authored
The cross_sum function has been replaced by a more optimised version, increasing the speed of the filter by ~5%. Change-Id: Ieb0fbe53033591919f719d0a288a55abd74ba2e4
-
Imdad Sardharwalla authored
The loop restoration parameters were previously written at the end of each superblock, and have now been moved to the beginning. Change-Id: I45fc57a82d0ee340e6281f0a70d42ec0829caf9c
-
Jingning Han authored
Follow local function naming conventions. Change-Id: Ice840fdc03cbb0347e26326988a7520c38f77672
-