- 09 Jun, 2017 3 commits
-
-
David Barker authored
Includes a test case based on the warp filter tests Change-Id: I9abea53a088f68bb8a928ebd7cb96b3266a63c13
-
David Barker authored
* Reduce bit widths of intermediate values where possible * Change ROUND_POWER_OF_TWO_SIGNED to ROUND_POWER_OF_TWO in av1(_highbd)_convolve_2d * Apply offsetting and bounds checking, to match the intended hardware implementation * Separate the implementations of av1(_highbd)_convolve_2d into compound-round and non-compound-round cases. This is because there are now a significant number of differences between the functions. Overall, this is expected to affect the bitstream and encoder output when convolve-round alone is enabled, but *not* when compound-round is enabled. Change-Id: I8c21e0645fd11f64c59552885f87f4a5dd40ccf7
-
David Barker authored
The 'ref' member of ConvolveParams currently serves two purposes: * To indicate which component of a compound we're currently predicting, eg. for fetching interpolation filters with dual-filter enabled. * To determine whether we should average into the destination buffer. But there are two cases where we want to separate these out: * In joint_motion_search, we want to try combining a fixed second prediction with various first predictions. * When searching masked interinter compounds, we want to predict each component separately then try different combinations. In these cases, we set 'ref' to 0 and use temporary variables to make sure we use the correct interpolation filters. But this is quite fragile. This patch separates out the two uses into separate members. This allows us to remove some temporary variables, but more importantly gives easy fixes to two bugs in build_inter_predictors_single_buf (used by rdopt): * We previously set ref=0 but didn't fix up the interpolation filters * For ZERO_ZEROMV modes, the second component would accidentally average into the (uninitialized!) second prediction buffer BUG=aomedia:577 BUG=aomedia:584 BUG=aomedia:595 Change-Id: Ibc31d1ac701a029ea5efaa1197dd402bc4b7af1e
-
- 02 Jun, 2017 1 commit
-
-
Angie Chiang authored
Change-Id: Ia9a5d818e8c2ff9b4cc41c6d7950cfe005c20bfc
-
- 08 May, 2017 1 commit
-
-
Angie Chiang authored
Change-Id: I48a2148854e2abd0a3cc66aef58bb6a5d77c8b59
-
- 26 Apr, 2017 1 commit
-
-
Urvang Joshi authored
BUG=aomedia:442 Change-Id: I6a861c40121118af8df4b46f985a2aac9f931056
-
- 21 Apr, 2017 1 commit
-
-
Angie Chiang authored
This experiment extracts the post compound rounding feature from convolve_round experiment lowres convolve_round -1.493% compound_round only -0.874% Change-Id: I084cf10b5155edd408848e44681f8af66b803724
-
- 12 Apr, 2017 1 commit
-
-
Sebastien Alaiwan authored
Rename '--enable-aom-highbitdepth' to '--enable-highbitdepth' Change-Id: I1de13c3508c30c552532993419d8ace326142ab6
-
- 10 Apr, 2017 1 commit
-
-
Fergus Simpson authored
The SSE3 convolve functions do not work when scaling is involved. If either x_step_q4 or y_step_q4 is not 16 scaling will occur and an assert fails. This patch creates a C version of av1_convolve, av1_convolve_c. This function in turn calls all C versions of what av1_convolve calls. New C versions of these called functions have been created where needed and the same for the functions they call. This means that when scaling is enabled no asserts fail. av1_convolve_c is called instead of av1_convolve when x_step_q4 or y_step_q4 is not 16. Change-Id: I604d2716e034e23a0553fb7004133d3075514a7a
-
- 24 Feb, 2017 1 commit
-
-
Angie Chiang authored
This CL allow us to change filter coefficients easily for SIMD implementation of high bitdepth convolution functions Change-Id: I454a5c76d3ba9e4454118c6a9d87737b3aa24898
-
- 22 Feb, 2017 2 commits
-
-
Angie Chiang authored
Change-Id: I5bc76c3edbe0792a85c995721ee93dcf517cc1ff
-
Angie Chiang authored
Change-Id: I2c05ce6a96cc21826fc53aeacce91d9637d3b178
-
- 21 Feb, 2017 1 commit
-
-
Angie Chiang authored
Remove code related to convolve_round experiment out of av1_convolve() The experimental code is now implemented in av1_convolve_2d(). Change-Id: I409a390876e9d19e6ee42150f0ac20ff108244a9
-
- 15 Feb, 2017 1 commit
-
-
Zoe Liu authored
Change-Id: I532e46b3947ca3f5898a2da61fb6b82c2f4bd5c6
-
- 12 Feb, 2017 1 commit
-
-
Angie Chiang authored
The performance change is 0.004% on lowres Change-Id: If3702ba6377ac42997e7d49b8959ff16fb182daa
-
- 10 Feb, 2017 1 commit
-
-
Angie Chiang authored
Performance drop by 0.084% on lowres Change-Id: I2bcaae96b68033a0af7a1da988505623bc14ed94
-
- 06 Feb, 2017 1 commit
-
-
Angie Chiang authored
When convolve_round is on, av1_convolve_2d_facade will be used for interpolation rather than av1_convolve. Will remove the experiment code of convolve_round experiment from av1_convolve in another CL. So far we use 4-bit rounding in the intermediate stage on top of using post rounding for compound mode after the last stage. This will give us roughly 0.45% gain on lowres , 0.39% on midres and roughly 0.6-0.7% on hdres Altogether, is 1.15% on lowresm, 0.74% on midres and roughly 1.7-1.8% on hdres Note that there no restriction usage of 12-tap filter in the CL. Adding that, we will lose roughly 0.1% again on lowres. Change-Id: I6332e1d888e28a3b3ddc29711817d66e52cb5cdf
-
- 02 Feb, 2017 1 commit
-
-
Angie Chiang authored
Change-Id: I02a019b1c11b3ee4ae32d424cb6ef2f8ae554824
-
- 20 Jan, 2017 2 commits
-
-
Angie Chiang authored
Move declaration of filter_params_x/y outside of if/else block Change-Id: I4f908872b7ff85b440a12a535d939a3c137aaab5
-
Angie Chiang authored
By turning on CONVOLVE_POST_ROUNDING, in the compound inter prediction mode, FILTER_BITS rounding is moved after the summation of two predictions. Note that the post rounding is only applied on non-sub8x8 block PSNR BDRate lowres -0.808% -0.673% Change-Id: Ib91304e6122c24d832a582ab9f5757d33eac876c
-
- 18 Jan, 2017 2 commits
-
-
Angie Chiang authored
We need uint16_t buf for storing no-rounding prediction. Add uint16_t buf in conv_params for that. This CL let us avoid changing interface of convolve functions. Change-Id: I079fad911327f40ffb98e17c73e7638b1719c975
-
Angie Chiang authored
Those functions includes av1_make_inter_predictor av1_build_inter_predictor inter_predictor Change-Id: Ide3b744277cf30964e8b352fc8de91365d7217a8
-
- 13 Jan, 2017 2 commits
-
-
Angie Chiang authored
Use a round flag in ConvolveParams to indicate if the destination buffer has the result rounded by FILTER_BITS or not. This CL is part of the goal of reducing interpolation rounding error in compound prediction mode. Change-Id: I49e522a89a67a771f5a6e7fbbc609e97923aecb6
-
Jingning Han authored
Change-Id: Ia4779ffb47de333d670ae110cbdfb6cc567da910
-
- 15 Dec, 2016 2 commits
-
-
Angie Chiang authored
When both directions pick sharp filter, horizontal direction use 12-tap sharp filter and vertical direction uses 8-tap sharp filter. BDRate performance drop slightly. BDRate lowres -0.083% midres -0.073% hdres -0.016% Change-Id: I6dc075af98f6b4fae558827424a7dd8f38d56503
-
Angie Chiang authored
BDRate varies within +-0.04% Change-Id: I76f440c479d411c09ef39a19b46eb8dbc5330efb
-
- 12 Dec, 2016 4 commits
-
-
Yaowu Xu authored
Change-Id: Ic836798f6e582ee82964fa36ac778eef0c301eb3
-
Angie Chiang authored
Change-Id: Id3936ffd8146c6806fbe93a5bebc23bf5cd8b5f5
-
Angie Chiang authored
Change-Id: I2e3315209559320bbae0ab7e88c9ee5df9e53ef8
-
Angie Chiang authored
Change-Id: Iaf11f439eb4baf2e0c7bf2a19c7c1c012ae7f57b
-
- 01 Dec, 2016 2 commits
-
-
Angie Chiang authored
Let aom_convolve8_### SIMD implementation support any block width. Turn on SIMD optimization when interpolation filter types on two directions are different. This will reduce 30% of encoding time when dual_filter and ext_interp both on. Change-Id: I539dbb2737f01835034b7269656a15b2058fa3cc
-
Angie Chiang authored
Performance drop BDRate lowres -0.116% midres -0.073% hdres -0.056% Change-Id: Ic90caf9b8f6fb9d9fd6f9c0e80436a7c468a3c97
-
- 30 Nov, 2016 1 commit
-
-
Angie Chiang authored
There is 0.003% BDRate change on lowres dataset. Change-Id: Ie62a5ea07bdcfe0a62f37e8f981382df4cc59918
-
- 29 Nov, 2016 1 commit
-
-
Angie Chiang authored
Generate simd filter structure in av1_convolve_init() This will provide flexibility of changing filter coefficients. Change-Id: If79f84c56483aa08c894d6b12e2b6ce10147f0ce
-
- 01 Nov, 2016 1 commit
-
-
Yaowu Xu authored
Change-Id: I2047adc4c147201ce0ce3c533fe2861cbff1002c
-
- 25 Oct, 2016 1 commit
-
-
Angie Chiang authored
Change-Id: Ie84bdf90c31b12977d32baacfc8086c1fdd96e65
-
- 09 Sep, 2016 1 commit
-
-
James Zern authored
this matches style guidelines and stabilizes successive runs of clang-format across the tree. remaining types should be address in successive commits. Change-Id: I6ad3f69cf0a22cb9a9b895b272195f891f71170f
-
- 01 Sep, 2016 2 commits
-
-
Yaowu Xu authored
Cherry-Picked the following commits: 0defd8f2 Changed "WebM" to "AOMedia" & "webm" to "aomedia" 54e66767 Replace "VPx" by "AVx" 5082a369 Change "Vpx" to "Avx" 7df44f17 Replace "Vp9" w/ "Av1" 967f722f Remove kVp9CodecId 828f30ce Change "Vp8" to "AOM" 030b5ffc AUTHORS regenerated 2524caee Add ref-mv experimental flag 016762be Change copyright notice to AOMedia form 81e55269 Replace vp9 w/ av1 9b94565b Add missing files fa8ca9f2 Change "vp9" to "av1" ec838b76 Convert "vp8" to "aom" 80edfa01 Change "VP9" to "AV1" d1a11fb9 Change "vp8" to "aom" 7b582513 Point to WebM test data dd1a5c8d Replace "VP8" with "AOM" ff00fc0f Change "VPX" to "AOM" 01dee0bb Change "vp10" to "av1" in source code cebe6f0c Convert "vpx" to "aom" 17b05679 rename vp10*.mk to av1_*.mk fe5f8a8a rename files vp10_* to av1_* Change-Id: I6fc3d18eb11fc171e46140c836ad5339cf6c9419
-
- 12 Aug, 2016 1 commit
-
-
clang-format authored
Change-Id: I01d8241eba3ccaf4d06c00a51df2d17c126f6f9d
-