summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
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
2019-01-18Merge "Add unit test for temporal filter on VP9"Chi Yo Tsai
2019-01-16Add unit test for temporal filter on VP9chiyotsai
The current unit tests for temporal filtering only tests single channel version of temporal filter. Since VP9 currently uses both luma and chroma channel information for temporal filtering on low bitdepth, there is no unit case in this scenario. This commit adds some basic unit tests to facilitate further development on temporal filtering. BUG=webm:1591 Change-Id: Id38ceba5305865d7148e9b2bc636acddae54d6c2
2019-01-15mips: add rtcd.h to resolve missing declarationsJohann
BUG=webm:1584 Change-Id: Ifdebf33356abcc6869f695d129165ba17e042dcd
2019-01-09 highbd_iadst16_neon: resolve missing declarationJohann
Only used in a local array. Similar to lowbd iadst16 naming. BUG=webm:1584 Change-Id: Ie07c2fb9599fb54fab221e5c0ccec0e95d69b893
2019-01-08ppc: resolve missing declarationsJohann
Add rtcd headers and make local functions static. BUG=webm:1584 Change-Id: Ic19aec1dc90703b0b89d1092baee487d0fd0cb4e
2018-12-27Adaptively choose block sizes in temporal filteringYunqing Wang
Use variable block sizes in temporal filtering. Based on prediction errors of 32x32 or 16x16 blocks, choose the block size adaptively. This improves the coding performance, especially for HD resolutions. Speed 1 borg test result: avg_psnr: ovr_psnr: ssim: lowres: -0.090 -0.075 -0.112 midres: -0.120 -0.107 -0.168 hdres: -0.506 -0.512 -0.547 Change-Id: I8f774e29ecb2e0dd372b32b60c32d8fa30c013a8
2018-12-22Revert "Add Tile-SB-Row based Multi-threading in Decoder"James Zern
This reverts commit 02b3ef7faee5be5ee519856fbb3523d3ab49f6e7. Reason for revert: fails to build under visual studio Original change's description: > Add Tile-SB-Row based Multi-threading in Decoder > > Add the multi-thread function that decodes a video row by row instead > of a tile at a time. Create a job queue for queueing all parse and recon jobs. > Each SB row of a tile is a job. > > Performance Improvement: > > Platform Resolution 3 Threads 4 Threads > ARM 720p 36.81% 18.37% > 1080p 32.27% 14.76% > > ARM Improvement measured on Nexus 6 Snapdragon 805 Quad-core @ 2.65 GHz > > Change-Id: I3d4dd7a932fc2904c90d9546b2de99c809afd29e BUG=webm:1587 Change-Id: Ia4c8f5128922a205cd9fd83aaef8a2e73764d4a7
2018-12-21Merge "fdct_quant: resolve missing declarations"Johann Koenig
2018-12-21Merge "Add Tile-SB-Row based Multi-threading in Decoder"Harish Mahendrakar
2018-12-21fdct_quant: resolve missing declarationsJohann
Store outputs using store_tran_low() BUG=webm:1584 Change-Id: I213abe047e14625c5ef80df7fa6fdc2a31e40fb6
2018-12-20vp9: limit lpf workers to min(threads,tiles,sb_rows)James Zern
this implementation does not scale well beyond that. this restores the performance in v1.7.0. BUG=webm:1574 Change-Id: I8f3464cfe871988fa06ebefe9954811fd002584e
2018-12-18Add Tile-SB-Row based Multi-threading in DecoderRitu Baldwa
Add the multi-thread function that decodes a video row by row instead of a tile at a time. Create a job queue for queueing all parse and recon jobs. Each SB row of a tile is a job. Performance Improvement: Platform Resolution 3 Threads 4 Threads ARM 720p 36.81% 18.37% 1080p 32.27% 14.76% ARM Improvement measured on Nexus 6 Snapdragon 805 Quad-core @ 2.65 GHz Change-Id: I3d4dd7a932fc2904c90d9546b2de99c809afd29e