summaryrefslogtreecommitdiff
path: root/vp9
AgeCommit message (Collapse)Author
2019-02-02Merge "Fix segmentation fault when num tile cols change in row-mt."Harish Mahendrakar
2019-02-01Fix segmentation fault when num tile cols change in row-mt.Ritu Baldwa
Change-Id: Ifc165d76a71fcdb7c19c158c940a8d273be0d95f
2019-02-01Remove old version of temporal_filter_applychiyotsai
BUG=webm:1591 Change-Id: I926566ac1bf4bac8cb1ce1c6ded9ba940109283e
2019-01-31vp9_temporal_filter: convert blk_fw[0] || ... to |James Zern
this matches what is done to reduce the cost of the test of filter values in convolve. Change-Id: I692b58801a962b593b810c1d1dac42f72c78caf9
2019-02-01Merge "vp9: Tune qp_thresh to disable cyclic refresh for screen"Marco Paniconi
2019-02-01Merge "Add highbd yuv_temporal_filter"Chi Yo Tsai
2019-01-31vp9: Tune qp_thresh to disable cyclic refresh for screenMarco Paniconi
For screen-content mode, with aq-mode=3: increase the qp thresh for disabling the cyclic refresh. Improves bitrate convergence for content that has been static for long period. Change-Id: Ica63a741402923a611ab1b86c0900f75d2d5f941
2019-01-31Merge changes I62702bdb,Ice6d06c5,I60204c62,Ib9fdf65eAngie Chiang
* changes: Implement get_mv_cost() Add assertion in get_block_src_pred_buf Fix bug in predict_mv_mode Allocate memory for mv_mode_arr[]
2019-01-31vp9: Adjust intra check for short_circuit_flat_blocksMarco Paniconi
For non-rd pickmode: include H and V intra mode check for spatially flat blocks when the sf->short_circuit_flat_blocks speed feature is set. Small improvement on screen content tests. Change-Id: I3391d02cce6a46160be6ccc8a1e33fd8547eb467
2019-01-30Implement get_mv_cost()Angie Chiang
The mv_cost contains mv_mode cost and mv_diff cost. The mv_mode cost is inferred from default_inter_mode_probs. The mv_diff cost is estimated used the log2 function. Change-Id: I62702bdb5c3fec018e3302765f5dd749fceebc12
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-30vp9-svc: Fix to non-rd pickmode for screen contentMarco Paniconi
For screen content mode: always force intra check for spatially flat blocks that have moved. Also adjust/fix condition for forcing check of zeromv-golden for quality layers. Reduces artifacts in screensharing tests. Change-Id: Iafd62fb24a4e05f5b12af663dde2805fdb4c7b36
2019-01-30Add assertion in get_block_src_pred_bufAngie Chiang
Print error message and assert when ref_frame_idx is invalid Change-Id: Ice6d06c53ddae0a77d578671b896c4e4d04d5366
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-30Merge "Add some const qualifiers where applicable"Hui Su
2019-01-30Merge "Reuse simple motion search results"Hui Su
2019-01-30Merge "Reland "Enable SSE4 version of apply temporal filter""Chi Yo Tsai
2019-01-29vp9-svc: Modify early breakout for non-rd pickmodeMarco Paniconi
Modify early breakout condition for non-rd pickmode for quality layers: when lower layer has lower QP force test of zeromv on golden (lower layer reference) before breakout due to skip. Reduce artifacts, observed in cases of scrolling content. Change-Id: Id834b1eb024a4c97f0e74d8b7f7a0351459e088f
2019-01-30Modify map read/write to sync logic in row_mt caseRitu Baldwa
Adds conditional wait/signal instead of sched_yield. Change-Id: I49a760eacdd6b6ac690e797ea5f10febf6a1a084
2019-01-29Fix bug in predict_mv_modeAngie Chiang
Use kMvPreCheckLines in the for loops. Change-Id: I60204c6294560d47421a8621d907dfa95c9dde18
2019-01-29Allocate memory for mv_mode_arr[]Angie Chiang
Change-Id: Ib9fdf65e263dbaace8d4c86766eba2c6f35f652b
2019-01-29Add some const qualifiers where applicableHui Su
Change-Id: Ib820f625e0b616fd57a2722ec3614b4fccf307f8
2019-01-29Reuse simple motion search resultsHui Su
In the ML based partition search speed feature, use MV result of previous simple motion search as the starting point for the next one. Compression change is neutral; encoding speed becomes slightly faster. Change-Id: Iea554f28f7966fc5b5857e12b06de58e3fa312a6
2019-01-29Merge changes I7dcfcdb3,Ie0b2c67bAngie Chiang
* changes: Add predict_mv_mode_arr() Add predict_mv_mode()
2019-01-29Reland "Enable SSE4 version of apply temporal filter"Chi Yo Tsai
This reverts commit a4d2f59b691ac57698d299430495b398a8bb682c. Reason for revert: Re-enables SSE4_1 version of apply temporal filter now that the mismatch is fixed in fa540837aa23ae8cdd926961ddbef71998a2a525, Original change's description: > Revert "Enable SSE4 version of apply temporal filter" > > This reverts commit 4f3cd48bfe4541ca64883db51f57c1376c6d8a73. > > Reason for revert: Found a mismatch with c version > > Original change's description: > > Enable SSE4 version of apply temporal filter > > > > Evaluating on 5 midres clips with 4 bitrates over 30 frames on speed 1 > > auto_alt_ref=1, there is a speed up of 1.660%. > > > > BUG=webm:1591 > > > > Change-Id: Idbda58548679e6f7b8fc0d7f6144f7be057ef690 > > TBR=yunqingwang@google.com,builds@webmproject.org,chiyotsai@google.com > > Change-Id: Ibca973576d72d6db4b647a08aef23389d5d6605a > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: webm:1591 TBR=yunqingwang@google.com,builds@webmproject.org,chiyotsai@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: webm:1591 Change-Id: I26effdbaf4d52e4650c263b6ed9d3d80e505f5cb
2019-01-29Merge "Fix mismatch between SIMD/C version of vp9_apply_temporal_filter"Chi Yo Tsai
2019-01-28Fix mismatch between SIMD/C version of vp9_apply_temporal_filterchiyotsai
Change-Id: I6503ebc79beaac2947992437ac133f3ac4379019
2019-01-28Refactor ml_predict_var_rd_paritioning()Hui Su
Refactor out code about simple motion search. Change-Id: Ie6895db2aff3c13e7a45554d6bc1c7c0af8f2d51
2019-01-28Add predict_mv_mode_arr()Angie Chiang
The function predicts the mv_mode for each prediction block in diagonal order. Change-Id: I7dcfcdb317ffa334cb40bb435baa71b5db62252b
2019-01-28Add predict_mv_mode()Angie Chiang
This function evaluate the impact of setting NEW_MV_MODE on a block and its neighbor blocks. Change-Id: Ie0b2c67bdc5cd14e0efd8ebc5dc3f3f873bcf3fe
2019-01-26Merge "Revert "Enable SSE4 version of apply temporal filter""Chi Yo Tsai
2019-01-26Revert "Enable SSE4 version of apply temporal filter"Chi Yo Tsai
This reverts commit 4f3cd48bfe4541ca64883db51f57c1376c6d8a73. Reason for revert: Found a mismatch with c version Original change's description: > Enable SSE4 version of apply temporal filter > > Evaluating on 5 midres clips with 4 bitrates over 30 frames on speed 1 > auto_alt_ref=1, there is a speed up of 1.660%. > > BUG=webm:1591 > > Change-Id: Idbda58548679e6f7b8fc0d7f6144f7be057ef690 TBR=yunqingwang@google.com,builds@webmproject.org,chiyotsai@google.com Change-Id: Ibca973576d72d6db4b647a08aef23389d5d6605a No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webm:1591
2019-01-25Merge "Fix a bug in tune-content film mode"Sai Deng
2019-01-25Merge changes Ia1b3ec7e,I58b8c713,Ibeb43400Angie Chiang
* changes: Add find_best_ref_mv_mode() Add get_mv_dist Add get_mv_from_mv_mode()
2019-01-25Merge "Enable SSE4 version of apply temporal filter"Chi Yo Tsai
2019-01-25Merge "Add SSE4 version of new apply_temporal_filter"Chi Yo Tsai
2019-01-25Merge "Adjustment to noise factor in first pass."Paul Wilkins
2019-01-25Adjustment to noise factor in first pass.Yunqing Wang
Adjustments to the calculation and use of a noise estimate in the first pass Q estimate and adaptation of temporal filtering. This change was tested and gave gains for both auto-alt-ref=1 and auto-alt-ref=6 as follows: Results are Av PSNR, Overall PSNR, SSIM and PSNR-HVS auto-alt-ref=1 low_res 0.007, -0.042, -0.018, 0.074 mid_res -0.142, -0.239, -0.173, -0.129 hd_res -0.322, -0.405, -0.397, -0.367 NF_2K -0.058, -0.099, -0.201, 0.028 auto-alt-ref=6 low_res -0.058, -0.171, -0.188, -0.027 mide_res -0.149, -0.155, -0.171, -0.137 hd_res -0.252, -0.339, -0.259, -0.297 NF_2K -0.015, -0.068, -0.120, 0.092 In all sets there were some winners and losers but significantly more winners. The biggest change was Stockholm in the hd set with an improvement of 5-6% Change-Id: Ieec71e1c4e3e09b76c288efa7b4d1b00015b3a11
2019-01-24Enable SSE4 version of apply temporal filterchiyotsai
Evaluating on 5 midres clips with 4 bitrates over 30 frames on speed 1 auto_alt_ref=1, there is a speed up of 1.660%. BUG=webm:1591 Change-Id: Idbda58548679e6f7b8fc0d7f6144f7be057ef690
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-24Add find_best_ref_mv_mode()Angie Chiang
This function compute the rd cost for each mv_mode and return the one with minimum rd cost. eval_mv_mode() Evaluate the rd cost for a given mv_mode. Change-Id: Ia1b3ec7e1dd538e443e1bc79f2cab352408cd0a0
2019-01-24Add get_mv_distAngie Chiang
Given an mv_mode, get_mv_dist() obtains the mv and uses it to compute distortion. Change-Id: I58b8c7137b99c2736d651e678f0cd013dbd94877
2019-01-25Merge changes I0fb46784,I6c89fae4Angie Chiang
* changes: Add set_block_src_pred_buf() [cleanup] Move get_feature_score to a proper place
2019-01-24Add get_mv_from_mv_mode()Angie Chiang
Given an mv_mode, this function will return the corresponding mv. find_ref_mv() A helper function finds the nearest and near mvs from the neighbor blocks. select_mv_arr[] An array used for storing selected motion vectors. Change-Id: Ibeb434007f65b2c6e461360f208d99455e76bcbf
2019-01-24Fix a bug in tune-content film modesdeng
Avoid recursively decreasing 'strength'. avg_psnr ovr_psnr ssim midres -0.224 -0.195 -0.115 Change-Id: Ie74c069cda76873ac38e9c1a9162b1ddfb9b103d
2019-01-23Add set_block_src_pred_buf()Angie Chiang
This function sets src and pre buffer of MACROBLOCK and MACROBLOCKD. Will add static decorator once this function is called. Change-Id: I0fb46784dd97839e4d87c9e027fe8c59683e70d8
2019-01-23[cleanup] Move get_feature_score to a proper placeAngie Chiang
Add static decorator to it as well. Change-Id: I6c89fae456561b6975ab49af139a45a7483507c6
2019-01-23mips: resolve missing declarationsJohann
Exclude low bit depth optimizations from high bit depth builds. BUG=webm:1584 Change-Id: I86a7ebafa557d262257358e1e055a06d52659977
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-18Change temporal filter's search_method on speed 1chiyotsai
This commit introduces a new speed feature that determines the SEARCH_METHOD used by temporal filter when doing 16x16 block on full_pixel_motion_search. On speed 0, the most exhaustive method MESH is used. On speed 1 and above, a faster method NSTEP is used. Performance: | AVG_PSNR | AVG_SPDUP | AVG_SPDUP:AVG_PSNR MISRES | 0.007% | 2.818% | 402:1 HDRES | 0.004% | 4.897% | 1224:1 In the case of midres, there is a small quality gain of -0.021% on OVR_PSNR. Performance measurement is done on speed 1 with auto_alt_ref=1. Quality is measured on full midres set over 60 frames. Speed is measured on 5 midres clips over 4 bitrates over 30 frames. STATS_CHANGED Change-Id: Ic1879d2237f8734529e194767a6cf5e43e20b47b