summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Add AVX2 intrinsic for idct16x16 and idct32x32 functions" into mainYunqing Wang2023-05-058-8/+926
|\
| * Add AVX2 intrinsic for idct16x16 and idct32x32 functionsAnupam Pandey2023-05-058-8/+926
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added AVX2 intrinsic optimization for the following functions 1. vpx_idct16x16_256_add 2. vpx_idct32x32_1024_add 3. vpx_idct32x32_135_add The module level scaling w.r.t C function (timer based) for existing (SSE2) and new AVX2 intrinsics: Scaling Function Name SSE2 AVX2 vpx_idct32x32_1024_add 3.62x 7.49x vpx_idct32x32_135_add 4.85x 9.41x vpx_idct16x16_256_add 4.82x 7.70x This is a bit-exact change. Change-Id: Id9dda933aa1f5093bb6b35ac3b8a41846afca9d2
* | Merge "Add num_blocks to VpxTplFrameStats" into mainJerome Jiang2023-05-044-1/+4
|\ \
| * | Add num_blocks to VpxTplFrameStatsJerome Jiang2023-05-044-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | I realized the calculation of the size of the list of VpxTplBlockStats is non-trivial. So it's better to add the field for the size. Bug: b/273736974 Change-Id: Ic1b50597c1f89a8f866b5669ca676407be6dc9d8
* | | Merge "Add Vpx* prefix to Tpl{Block,Frame}Stats" into mainJerome Jiang2023-05-047-17/+18
|\ \ \ | |/ /
| * | Add Vpx* prefix to Tpl{Block,Frame}StatsJerome Jiang2023-05-047-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | This is to avoid symbols redifinition when integrating with other libraries. Bug: b/273736974 Change-Id: I891af78b1907504d5bb9f735164aea18c2aba944
* | | Merge changes I226215a2,Ia4918eb0,If6219446,Ibf00a6e1,I900a0a48 into mainChi Yo Tsai2023-05-0411-103/+105
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | * changes: Fix mismatched param names in vpx_dsp/x86/sad4d_avx2.c Fix mismatched param names in vpx_dsp/arm/highbd_sad4d_neon.c Fix mismatched param names in vpx_dsp/arm/sad4d_neon.c Fix mismatched param names in vpx_dsp/arm/highbd_avg_neon.c Fix clang warning on const-qualification of parameters
| * | Fix mismatched param names in vpx_dsp/x86/sad4d_avx2.cchiyotsai2023-05-031-30/+30
| | | | | | | | | | | | Change-Id: I226215a2ff8798b72abe0c2caf3d18875595caa5
| * | Fix mismatched param names in vpx_dsp/arm/highbd_sad4d_neon.cchiyotsai2023-05-031-14/+15
| | | | | | | | | | | | Change-Id: Ia4918eb0bac3b28b27e1ef205b9171680b2eb9a4
| * | Fix mismatched param names in vpx_dsp/arm/sad4d_neon.cchiyotsai2023-05-031-15/+17
| | | | | | | | | | | | Change-Id: If621944684cf9bb9f353db5961ed8b4b4ae38f24
| * | Fix mismatched param names in vpx_dsp/arm/highbd_avg_neon.cchiyotsai2023-05-031-30/+29
| | | | | | | | | | | | Change-Id: Ibf00a6e1029284e637b10ef01ac9b31ffadc74ca
| * | Fix clang warning on const-qualification of parameterschiyotsai2023-05-037-14/+14
| | | | | | | | | | | | Change-Id: I900a0a48dde5fcb262157b191ac536e18269feb3
* | | Merge changes I4d26f5f8,I12e25710 into mainJames Zern2023-05-0414-54/+59
|\ \ \ | | | | | | | | | | | | | | | | | | | | * changes: s/__aarch64__/VPX_ARCH_AARCH64/ configure: add aarch64 to ARCH_LIST
| * | | s/__aarch64__/VPX_ARCH_AARCH64/James Zern2023-05-0312-54/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows AArch64 to be correctly detected when building with Visual Studio (cl.exe) and fixes a crash in vp9_diamond_search_sad_neon.c. There are still test failures, however. Microsoft's compiler doesn't define __ARM_FEATURE_*. To use those paths we may need to rely on _M_ARM64_EXTENSION. Bug: webm:1788 Bug: b/277255076 Change-Id: I4d26f5f84dbd0cbcd1cdf0d7d932ebcf109febe5
| * | | configure: add aarch64 to ARCH_LISTJames Zern2023-05-022-0/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow identifying Windows Visual Studio targets as aarch64; the Microsoft compiler does not define __aarch64__. An alternative would be to define this in the code, checking for _M_ARM64 or _M_ARM64EC. For now we'll use the existing VPX_ARCH_* system. For compatibility VPX_ARCH_ARM will continue to be defined to 1 in this case. Bug: webm:1788 Bug: b/277255076 Change-Id: I12e25710891e86f0c7339ba96884c18ed90ba16f
* | | Merge "Add codec control to export TPL stats" into mainJerome Jiang2023-05-047-2/+120
|\ \ \
| * | | Add codec control to export TPL statsJerome Jiang2023-05-037-2/+120
| |/ / | | | | | | | | | | | | | | | | | | new codec control: VP9E_GET_TPL_STATS with unit test Bug: b/273736974 Change-Id: I27343bd3f6dffafc86925234537bcdb557bc4079
* | | fdct8x8_test: EXPECT_* -> ASSERT_*James Zern2023-05-031-12/+12
|/ / | | | | | | | | | | This avoids unnecessary logging when a block has multiple errors. Change-Id: If0f3e6f8ff5bd284655f7cabfd23c253c93d44c5
* | Move TplFrameStats to public headerJerome Jiang2023-05-013-17/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | Get ready for changes to follow: - Custom reader/writer IO functions - Codec control to get TPL stats from the encoder Move the definition of TplFrameStats to public header so applications can use them directly. Bug: b/273736974 Change-Id: Ieb0db4560ddd966df1bc01f6a7e179cc97f9bac1
* | Clean up a stale TODO in tplJerome Jiang2023-04-271-3/+0
| | | | | | | | Change-Id: Ieccaff1cc94cbb2c5a294d83f3080f7407267016
* | Merge "register_state_check: clear -Wshadow warning" into mainJames Zern2023-04-251-7/+7
|\ \
| * | register_state_check: clear -Wshadow warningJames Zern2023-04-201-7/+7
| | | | | | | | | | | | | | | | | | | | | with --target=x86_64-win64-gcc Bug: webm:1793 Change-Id: I265533af4e8d05adbe1d66a62b6dcb191ca48747
* | | Merge "highbd_vpx_convolve8_neon: clear -Wshadow warning" into mainJames Zern2023-04-251-1/+1
|\ \ \
| * | | highbd_vpx_convolve8_neon: clear -Wshadow warningJames Zern2023-04-211-1/+1
| |/ / | | | | | | | | | | | | Bug: webm:1793 Change-Id: If1a46fe183cd18e05b5538b1eba098e420b745ec
* | | Merge "vp9_highbd_iht16x16_add_neon: clear -Wshadow warning" into mainJames Zern2023-04-251-3/+3
|\ \ \
| * | | vp9_highbd_iht16x16_add_neon: clear -Wshadow warningJames Zern2023-04-211-3/+3
| |/ / | | | | | | | | | | | | Bug: webm:1793 Change-Id: I4e79a4d7d41b6abf88e3e60c54ab48a92b0346d2
* | | Merge "Reduce joint motion search iters based on bsize" into mainYunqing Wang2023-04-243-17/+49
|\ \ \ | |_|/ |/| |
| * | Reduce joint motion search iters based on bsizeNeeraj Gadgil2023-04-243-17/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Joint motion search during compound mode eval is optimized by reducing the number of mv search iterations based on bsize. The sf 'comp_inter_joint_search_thresh' is renamed as 'comp_inter_joint_search_iter_level' and used to add the logic. cpu Testset Instr. Cnt BD Rate loss (%) Red (%) avg. psnr ovr.psnr ssim 0 LOWRES2 5.373 0.0917 0.1088 0.0294 0 MIDRES2 3.395 0.0239 0.0520 0.0783 0 HDRES2 2.291 0.0223 0.0301 0.0053 0 Average 3.686 0.0460 0.0636 0.0377 STATS_CHANGED Change-Id: I7ee8873ebc8af967382324ae8f5c70c26665d5e6
* | | Reland "Calculate recrf_dist and recrf_rate"Jerome Jiang2023-04-212-11/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of commit 3c59378e4eac2d241fba8b26e660318b850e5773 Addressed issues from the previous CL: - Both recon_error and rate_cost are scaled up - recon_error and rate_cost are not accumulated across ref frames, instead they are calculated with the best ref frame picked. - get_quantize_error() is put where it was, so there is no behavior change for vp9. Bug: b/273736974 Original change's description: > Calculate recrf_dist and recrf_rate > > Change-Id: I74e74807436b92d729e2ccaab96149780f1f52d9 Change-Id: I20e1f5543e83b576a074bd4e6b44d99da65f4b56
* | | Revert "Calculate recrf_dist and recrf_rate"Jerome Jiang2023-04-212-42/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3c59378e4eac2d241fba8b26e660318b850e5773. Reason for revert: recon_error and recon_rate is summed by mistake across reference frames, as pointed out by Angie. It could also cause vp9 behavior changes. Original change's description: > Calculate recrf_dist and recrf_rate > > Change-Id: I74e74807436b92d729e2ccaab96149780f1f52d9 Change-Id: I6106ce77cb0fe8c12b2bcf070d01513ffa8dc613 No-Presubmit: true No-Tree-Checks: true No-Try: true
* | | Calculate recrf_dist and recrf_rateJerome Jiang2023-04-202-12/+42
| | | | | | | | | | | | Change-Id: I74e74807436b92d729e2ccaab96149780f1f52d9
* | | Merge "Store tpl stats before propagation" into mainJerome Jiang2023-04-213-1/+59
|\ \ \ | |_|/ |/| |
| * | Store tpl stats before propagationJerome Jiang2023-04-203-1/+59
| |/ | | | | | | | | | | | | Add two new structs TplBlockStats and TplFrameStats to store tpl stats before propagation Change-Id: I903db99326b199ed8f2d8b19ccb973a8c8910501
* | Merge "configure: skip arm64_neon.h workaround w/VS >= 2019" into mainJames Zern2023-04-201-2/+5
|\ \
| * | configure: skip arm64_neon.h workaround w/VS >= 2019James Zern2023-04-201-2/+5
| | | | | | | | | | | | | | | | | | | | | Visual Studio 2019+ include arm64_neon.h from arm_neon.h Bug: b/277255076 Change-Id: I52f42b69a5efe8214a4c541b68e940ad07499584
* | | Merge "vp9_tpl_model: clear -Wshadow warning" into mainJames Zern2023-04-201-17/+17
|\ \ \ | |/ / |/| |
| * | vp9_tpl_model: clear -Wshadow warningJames Zern2023-04-171-17/+17
| | | | | | | | | | | | | | | | | | | | | with --enable-experimental --enable-non-greedy-mv Bug: webm:1793 Change-Id: I19e38d7196291ae1ffbb5fb3daa70a4fefd54c55
* | | Merge "vp9_spatial_svc_encoder: quiet -Wunused-but-set-variable" into mainJames Zern2023-04-201-3/+6
|\ \ \
| * | | vp9_spatial_svc_encoder: quiet -Wunused-but-set-variableJames Zern2023-04-191-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | with clang-17. Move frames_received under OUTPUT_FRAME_STATS; it's only used in a printf. Change-Id: Idfdd59ccd04e43df1855203db82bb4c8a1d059fb
* | | | Merge "vp9_ratectrl,vp9_encodedframe_overshoot: rm unused var" into mainJames Zern2023-04-201-2/+0
|\ \ \ \
| * | | | vp9_ratectrl,vp9_encodedframe_overshoot: rm unused varJames Zern2023-04-191-2/+0
| |/ / / | | | | | | | | | | | | | | | | | | | | quiets -Wunused-but-set-variable with clang-17 Change-Id: I5212a20286d0252e45a8e8813d15cb780494b0ad
* | | | Merge "onyx_if,encode_frame_to_data_rate: rm unused var" into mainJames Zern2023-04-201-5/+0
|\ \ \ \
| * | | | onyx_if,encode_frame_to_data_rate: rm unused varJames Zern2023-04-191-5/+0
| |/ / / | | | | | | | | | | | | | | | | | | | | quiets -Wunused-but-set-variable with clang-17 Change-Id: Ia819beac84cbd57f4eeca6174c785fd320bc40c6
* | | | Merge "libs.mk: quote $(LIBVPX_TEST_DATA_PATH)" into mainJames Zern2023-04-201-4/+4
|\ \ \ \
| * | | | libs.mk: quote $(LIBVPX_TEST_DATA_PATH)James Zern2023-04-191-4/+4
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows the testdata target to work environments like cygwin/msys when a windows style path is used. It may also fix using paths with spaces, though that's not generally recommended. Change-Id: Id444c14468b05d589bce49c1f612aa712a3f0c8c
* | | | vp9_encodeframe: rm unused varsJames Zern2023-04-191-5/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | in get_rdmult_delta() and compute_frame_aq_offset(). quiets -Wunused-but-set-variable with clang-17 Change-Id: I726852f3bc42afa80a18475de910040a9436b0bb
* | | Merge changes Ib0c2f852,Ieb77661e,I56ea656e,Ibda734c2 into mainJames Zern2023-04-196-43/+293
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | * changes: Add Neon implementations of vpx_highbd_sad_skip_<w>x<h>x4d Add Neon implementation of vpx_sad_skip_<w>x<h>x4d functions Add Neon implementation of vpx_highbd_sad_skip_<w>x<h> functions Add Neon implementation of vpx_sad_skip_<w>x<h> functions
| * | Add Neon implementations of vpx_highbd_sad_skip_<w>x<h>x4dJonathan Wright2023-04-193-11/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add Neon implementations of high bitdepth downsampling SAD4D functions for all block sizes. Also add corresponding unit tests. Change-Id: Ib0c2f852e269cbd6cbb8f4dfb54349654abb0adb
| * | Add Neon implementation of vpx_sad_skip_<w>x<h>x4d functionsJonathan Wright2023-04-193-11/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add Neon implementations of standard bitdepth downsampling SAD4D functions for all block sizes. Also add corresponding unit tests. Change-Id: Ieb77661ea2bbe357529862a5fb54956e34e8d758
| * | Add Neon implementation of vpx_highbd_sad_skip_<w>x<h> functionsJonathan Wright2023-04-193-11/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add Neon implementations of high bitdepth downsampling SAD functions for all block sizes. Also add corresponding unit tests. Change-Id: I56ea656e9bb5f8b2aedfdc4637c9ab4e1951b31b