summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
2022-05-26Revert "[NEON] Optimize vp9_diamond_search_sad() for NEON"Jerome Jiang
This reverts commit 258affdeab68ed59e181368baa46e2f1d077b0ab. Reason for revert: Not bitexact with C version Original change's description: > [NEON] Optimize vp9_diamond_search_sad() for NEON > > About 50% improvement in comparison to the C function. > I have followed the AVX version with some simplifications. > > Change-Id: I72ddbdb2fbc5ed8a7f0210703fe05523a37db1c9 Change-Id: I5c210b3dfe1f6dec525da857dd8c83946be566fc
2022-05-07[NEON] Optimize vp9_diamond_search_sad() for NEONKonstantinos Margaritis
About 50% improvement in comparison to the C function. I have followed the AVX version with some simplifications. Change-Id: I72ddbdb2fbc5ed8a7f0210703fe05523a37db1c9
2022-04-26vp9: check postproc_state.limits allocsJames Zern
Change-Id: I9d5df96580074375e4847d2e2f60a6a6d56eeea5
2022-04-18vp9_alloc_internal_frame_buffers: fix num buffers assignmentJames Zern
avoid setting num_internal_frame_buffers until the allocation is checked, avoiding an invalid access in vp9_free_internal_frame_buffers() Change-Id: I28a544a2553d62a6b5cb7c45bf10591caa4ebab6
2022-04-18vp9_alloccommon: add missing pointer checksJames Zern
in vp9_free_ref_frame_buffers() and vp9_free_context_buffers(); pool and free_mi may be NULL due to earlier allocation failures Change-Id: I3bd26ea29b3aea6c58f33d5b7f5a280eb6250ec7
2022-03-31Merge "Optimize FHT functions for NEON" into mainJames Zern
2022-03-30Optimize FHT functions for NEONKonstantinos Margaritis
[NEON] Optimize vp9_fht4x4, vp9_fht8x8, vp9_fht16x16 for NEON Following change #3516278, the improvement for these functions is: Before: 4.10% 0.75% vpxenc vpxenc [.] vp9_fht16x16_c 2.93% 0.65% vpxenc vpxenc [.] vp9_fht8x8_c 0.93% 0.77% vpxenc vpxenc [.] vp9_fht4x4_c And after the patch: 0.69% 0.16% vpxenc vpxenc [.] vp9_fht16x16_neon 0.28% 0.28% vpxenc vpxenc [.] vp9_fht8x8_neon 0.54% 0.53% vpxenc vpxenc [.] vp9_fht4x4_neon Bug: webm:1634 Change-Id: I6748a0c4e0cfaafa3eefdd4848d0ac3aab6900e4
2022-03-30remove skip_block from quantizeJohann
Whether a block is skipped is handled by mi->skip. x->skip_block is kept exclusively to verify that the quantize functions are not called for skip blocks. Finishes the cleanup in 13eed991f Bug: libvpx:1612 Change-Id: I1598c3b682d3c5e6c57a15fa4cb5df2c65b3a58a
2022-01-31Merge "Use background segmentation mask with ROI" into mainJerome Jiang
2022-01-27Use background segmentation mask with ROIJerome Jiang
RTC sample encoder vpx_temporal_svc_encoder can take mask files as input when ROI_MAP is set to 1. Uses ROI and segmentation of vp9 to skip background encoding when source_sad is low and the correspond block in previous frame is also skipped. Change-Id: I8590e6f9a88cecfa1d7f375d4cc480f0f2af87b6
2021-12-09vp[89]_initalize_enc(): protect against multiple invocationsJames Zern
this removes the burden from callers; the rtcd functions are left with a mostly redundant (outside of tests) once() as top-level functions should ensure their constraints are met Change-Id: I5bdbcfa4671c6a1492cfe9c7d886c361c26caaa9
2021-12-02clear -Wextra-semi/-Wextra-semi-stmt warningsJames Zern
Bug: chromium:1257449 Change-Id: Ia9aafccc09b611521d4a7aedfe3723393a840c62
2020-10-20Add ref frame info to vpx_rc_encodeframe_info_tAngie Chiang
Bug: webm:1707 Change-Id: I2ff9e54a9c8ae535628c1c471a2d078652f49a31
2020-10-15vp9_extrc_get_encodeframe_decision()angiebird
Bug: webm:1707 Change-Id: I90a327b97d7158b65767fe3fbfd5f260030e17f5
2020-04-13simplify x86_abi_support.asm symbol declarationJohann
Define LIBVPX_{ELF,MACHO} to simplify blocks. Create new globalsym macro and include logic for PRIVATE. BUG=webm:1679 Change-Id: I303ba1492a2813f685de51155ccef7e4831e1881
2020-04-01x86_abi_support: use correct hidden syntaxJohann
Chromium needs :function hidden and the space between the symbol and the colon removed, at least for nasm. This matches x86inc.asm. BUG=webm:1679 Change-Id: Ie47bb75d44d3130791639cbf4e2ebe019e2d686e
2020-03-03Add unit test for ref_frame_infoangiebird
Fix several bugs to make the test pass. 1) Move update_frame_indexes() out of show_frame check. 2) Init coding_indexes[i] to -1 when key frame appears 3) Fix a bug in PostUpdateRefFrameInfo() Change-Id: Ie7c70a1d460e5b89475a1aef77416fc9a88387e1
2020-03-03Add ref_frame_info to encode_frame_resultangiebird
Change-Id: If41a1ea6ce0a2b8db3811f2fa8efcf16f97fa0bd
2020-03-02Add init/update_frame_indexes()angiebird
We will init and update current_video_frame and current_frame_coding_index in the functions. So it's easier to keep track of when the frame indexes are updated. Change-Id: Id6ba46643f8923348bb4f81c5dd9ace553244057
2019-12-02Merge "Fix mutex free in multi-thread lpf"James Zern
2019-11-27Fix mutex free in multi-thread lpfVenkatarama NG. Avadhani
The mutex lf_mutex will now be allocated and destroyed, making it easier to verify if it has been inited before destruction. BUG=webm:1662 Change-Id: I8169bea9e117bd615d68b8d02da98aeab570b53f
2019-10-29Add vp9_get_encoder_config / vp9_get_frame_infoangiebird
Change-Id: Id5c8b2d69a36d218ec04cd504868ce0efebf6b69
2019-10-10Add FRAME_INFO into VP9_COMPangiebird
Change-Id: Ibc804f2420113010013c04dc005b02dfebdfda8a
2019-10-03vp9/common/vp9_reconinter: fix int sanitizer warningsHien Ho
Unit Test: VP9/InvalidFileTest implicit conversion from type 'int' of value -65536 (32-bit, signed) to type 'int16_t' (aka 'short') changed the value to 0 (16-bit, signed) BUG=webm:1615 BUG=webm:1645 Change-Id: I4ce0c6abf8b5bf43ee43e958ad75d9fa28b23eee
2019-08-27Add MACRO MAX_INTER_REF_FRAMESAngie Chiang
Use MAX_INTER_REF_FRAMES wheneve it's suitable Change-Id: I0fad94371a6600099313685cbe38faebb44178c4
2019-07-24Merge "Add vp9_non_greedy_mv.c/h"Angie Chiang
2019-07-18Add vp9_non_greedy_mv.c/hAngie Chiang
Move vp9_nb_mvs_inconsistency to vp9_non_greedy_mv.c This is to facilitate following SIMD optimizations. Change-Id: I8eb8f820368928e0c4fb287e557cddf0bd2c763e
2019-07-18Remove unused fb_cb related fields from VP9_COMMONWan-Teh Chang
Remove the cb_priv, get_fb_cb, release_fb_cb, and int_frame_buffers fields from the VP9_COMMON struct. They are not being used. Change-Id: I235194aa8b315cd8ec9405bbba5feb3bee69f7e0
2019-07-09vp9: Use mb_rows/cols from VP9_COMMON in postproc.Jerome Jiang
When frame height is not divisible by 16, the calculation of mb_rows in postproc was wrong. Change-Id: I69d108f1b8facdd5650b5b7928a0033b268530d2
2019-05-06Add mismatch_debug toolAngie Chiang
Change-Id: I045b4cf625d428109688303ced5433d824df2790
2019-04-16Revert "Refactor tile boundary condition for intra prediction"James Zern
This reverts commit 14208ab41e114f5779d106ae54a7cc8fd9d43820. This causes test vectors failures with --row-mt=1. BUG=webm:1617 Change-Id: Icb14bbbb6f38608a73dde0370ad874c0b1b0af8a
2019-04-12loop_filter_rows_mt: unify worker count calculationJames Zern
fixes a deadlock with an odd number of threads that go from < number of tiles to >. the previous calculations were out of sync so going from e.g., 8 tiles to 2 with 3 threads would result in scheduling only 2 workers, but thread_loop_filter_rows() would expect 3. BUG=webm:1618 Change-Id: I78c967a8c3c927d929e13c949808a5ef443ebacb
2019-04-02use 64bit integer for memory offset.Jerome Jiang
Change-Id: I3d27286202e26ceecf4e551732b7d536d224d920
2019-03-29Merge "update .clang-format for version clang-7.0.1 update."James Zern
2019-03-29update .clang-format for version clang-7.0.1 update.Hien Ho
added files that are affected by clang-format version 7. BUG=b/120815481 Change-Id: I40662ce962e4f4b1fcdf183b700f85cc5c0f9f82
2019-03-28Revert "Wrap macro definition in do-while(0)"Jerome Jiang
This reverts commit aa04b6f9a7475e9d9457dfc5bf441faf15efc466. It caused big regression on webrtc VP8 tests. Change-Id: I937e769d133abeca62ba063e59a58b5c461f5b5e
2019-03-25Remove deprecated code for vp9_fdct8x8_quant()Jingning Han
Change-Id: If146bbf24f446f71be9147402e6d30533eee99d1
2019-03-19Wrap macro definition in do-while(0)Jerome Jiang
Change-Id: Id654a48d2fa40355552d7267e58461e6cc1c6998
2019-03-15Merge "Refactor tile boundary condition for intra prediction"Jingning Han
2019-03-14Merge "Enclose macro arguments in parentheses"Jerome Jiang
2019-03-14Refactor tile boundary condition for intra predictionJingning Han
Explicitly compare the block location against tile coordinate to decide if intra prediction boundary is available. No coding stats will be changed by this refactoring. Change-Id: I80b3a131366bb2c5f8ea53a139ed6e9b0b7ddb68
2019-03-14Enclose macro arguments in parenthesesJerome Jiang
BUG=webm:1606 Change-Id: I661485b860243c95b6450035dbac77b0dd4d9ff4
2019-03-11vp9-decoder: use long int for buffer offset.Jerome Jiang
integer overflow when frame size too big. BUG=webm:1603 Change-Id: Ifbb81b5fb6a2043d09d403e7c50ab8d7bf125dca
2019-03-04Add SSE4_1 highbd version of temporal filterchiyotsai
The SSE4_1 version of temporal filter does not distinguish between bd 10 and bd 12. Speed up: Function Level: | !SS_X | SS_X !SS_Y | 6.44X | 6.37X SS_Y | 6.56X | 6.63X Video Level: 2.5% speed up on basketballpass_240p over 150 frames on speed 1, bitdepth 10, auto-alt-ref=1 BUG=webm:1591 Change-Id: I49aa2ed4acfe80a8d627038322de66cbe691296e
2019-02-01Remove old version of temporal_filter_applychiyotsai
BUG=webm:1591 Change-Id: I926566ac1bf4bac8cb1ce1c6ded9ba940109283e
2019-01-30Add highbd yuv_temporal_filterchiyotsai
This changes the highbd version of temporal filter to information from both luma and chroma planes. Performance: AVG_PSNR | OVR_PSNR | SSIM -0.144% | -0.165% | -0.150% The performance is evaluated on lowres_bd10. Change-Id: I89d1bd46cd60c26d658b6a53aa63835e90d8e291
2019-01-30Merge changes I49a760ea,I792df86eHarish Mahendrakar
* changes: Modify map read/write to sync logic in row_mt case Revert "Revert "Add Tile-SB-Row based Multi-threading in Decoder""
2019-01-29Add some const qualifiers where applicableHui Su
Change-Id: Ib820f625e0b616fd57a2722ec3614b4fccf307f8
2019-01-24Add SSE4 version of new apply_temporal_filterchiyotsai
This adds a preliminary version of vp9_apply_temporal_filter in SSE4.1. This patch merely adds the function and does not enable it yet. Speed Up: | ss_x=1 | ss_x=0 | ss_y=1 | 19.80X | 19.04X | ss_y=0 | 21.09X | 20.21X | BUG=webm:1591 Change-Id: If590f1ccf1d0c6c3b47410541d54f2ce37d8305b
2019-01-19Revert "Revert "Add Tile-SB-Row based Multi-threading in Decoder""Ritu Baldwa
This reverts commit 06983668cf41f66765528db044419f954e5a5d64. Fixes Visual Studio build errors introduced by earlier row mt commit BUG=webm:1587 Change-Id: I792df86e8254cd6b2a511955b691af619a569cd0