summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-16Merge "Fix the filter tap calculation in mips optimizations"Yunqing Wang
2018-10-16Merge "Enable ML based partition search breakout for HBD"Hui Su
2018-10-16Fix the filter tap calculation in mips optimizationsYunqing Wang
The interp filter tap calculation was not accurate to tell the difference between 2 taps and 4 taps. This patch fixed the bug, and resolved Jenkins test failures in mips sub-pel filter optimizations. BUG=webm:1568 Change-Id: I51eb8adb7ed194ef2ea7dd4aa57aa9870ee38cfc
2018-10-16Merge "fix output file check in vpxenc tests script."Jerome Jiang
2018-10-16Merge "Add frame_gop_index to GF_GROUP"Jingning Han
2018-10-16Merge "Add encoder side frame buffer for tpl model"Jingning Han
2018-10-15fix output file check in vpxenc tests script.Jerome Jiang
BUG=webm:1556 Change-Id: I4be40e9bf667cd9896017f38d866a47d3e19dcaf
2018-10-16Merge "CHANGELOG: fix v1.7.0 release date"James Zern
2018-10-16Merge "Add indep loop for motion_compensated_prediction"Angie Chiang
2018-10-15Enable ML based partition search breakout for HBDHui Su
For speed 0: coding loss 0.045%; encoder speedup 6%. For speed 1(only affects videos smaller than 720p): coding loss 0.11%; encoder speedup 6.5%. Change-Id: Ie441c9bad2021503e86fefd2f1fa3e1a42070bec
2018-10-15A temporary fix to mips sub-pel filtersYunqing Wang
There are Jenkins test failures in mips sub-pel filter optimizations. [ RUN ] MSA/ConvolveTest.MatchesReferenceSubpixelFilter/5 ../libvpx/test/convolve_test.cc:889: Failure Expected equality of these values: lookup(ref, y * kOutputStride + x) Which is: 255 lookup(out, y * kOutputStride + x) Which is: 11 mismatch at (1,0), filters (4,0,1) This relates to the 4-tap kernel added recently. This CL is a temporary fix, while we investigate the issue. BUG=webm:1568 Change-Id: If64c552b794425687cca4fbed893d8ccb73c89a5
2018-10-15Add frame_gop_index to GF_GROUPJingning Han
Add frame_gop_index to track the frame offset within a group of picture. This reworks the GOP frame offset calculation and use case. The coding stats remain identical. Change-Id: I94d0957bcc327f6bbeac6e84157635663c36b953
2018-10-15Add encoder side frame buffer for tpl modelJingning Han
Add an encoder side reference frame buffer pool to store the reference frames for tpl model. This servces as an intermediate step to support multi-layer ARF system. The buffer memory size will be optimized afterwards. Change-Id: If2d2f095d4911a4996f6c2a0b0a8e3d235ceadb2
2018-10-15CHANGELOG: fix v1.7.0 release dateJames Zern
BUG=webm:1567 Change-Id: Ia6091445504c8c94334bc062c945238782553d44
2018-10-15Refactor tpl model setup to support multi-layer ARF setupJingning Han
Generalize the tpl model framework to support the newly designed GOP structure system. The existing tpl model assumes single layer ARF. This design will separate the tpl model operation for GOP with and without ARF cases. When a GOP has ARF, the maximum lookahead offset would upper limit the needed frame buffer to build the tpl model for the entire GOP. When a GOP does not have ARF, we would use the temporal model in a different approach. The first step will focus on GOP with ARF. All the tpl model related operation will only be triggered by ARF frame generation. Change-Id: I13ab03a7bc68f5a4f6b03f2cb01c10befe955e73
2018-10-13Merge "Turn on ml_var_partition_pruning for HBD"Hui Su
2018-10-13Merge "Optimize apply_temporal_filter function"Yunqing Wang
2018-10-13Merge "Remove unused variable from VP9_COMP"Jingning Han
2018-10-12Optimize apply_temporal_filter functionYunqing Wang
This patch optimized apply_temporal_filter function. The diff^2 for each pixel in the 16x16 block is calculated once beforehand, so that we don't calculate it multiple times while evaluating a pixel's neighbors. This would speed up the function. Change-Id: Ibdb8b041f317fd6df198950e2acf9cfcde26860d
2018-10-12Turn on ml_var_partition_pruning for HBDHui Su
This affects speed 0 and 1 only. Tested on lowres_bd10(480p) and midres_bd10(720p), speed 0 speed 1 coding loss: 0.07% 0.10% encoder speedup: 14% 6.5% Change-Id: I5812400d8c7393321b7284d3fca06026842390b5
2018-10-12Merge "Enable ML based rect partition pruning for HBD"Hui Su
2018-10-12Enable ML based rect partition pruning for HBDHui Su
Tested on lowres_bd10(480p) and midres_bd10(720p), average coding loss is 0.09%; average encoding speedup is 9%. Only speed 0 is affected. Change-Id: Ia8d48c1c6d1669745f0e956b172572a37e42f0c7
2018-10-12Merge "Make 4-tap interp filter coefficients even numbers"Yunqing Wang
2018-10-11Remove unused variable from VP9_COMPJingning Han
Change-Id: I61447b7a21ac5b03f2a6accd6e433d8f9369e508
2018-10-12Make 4-tap interp filter coefficients even numbersYunqing Wang
This CL modified 4-tap interp filter coefficients to be even numbers, which would help in writing 4-tap filter SIMD optimizations. The coding performance change was negligible. Speed 1 borg test showed: avg_psnr: ovr_psnr: ssim: lowres: -0.003 -0.012 -0.017 midres: 0.029 0.018 0.043 hdres: 0.024 0.044 0.033 Change-Id: Id7c54bb9a9c1aee19c41bc6f1dc3b9682d158bba
2018-10-11Merge "ML_VAR_PARTITION: adjust model threshold"Hui Su
2018-10-11Merge "Call tpl model build at the beginning of a GOP"Jingning Han
2018-10-11Merge "Revert "vp8: Increase rate threshold for overshoot-drop""Marco Paniconi
2018-10-11Revert "vp8: Increase rate threshold for overshoot-drop"Marco Paniconi
This reverts commit bc066684ca4deff24d02ee56071d731b431bf438. Reason for revert: <INSERT REASONING HERE> Regression in webrtc perf test Original change's description: > vp8: Increase rate threshold for overshoot-drop > > Increase the rate threshold for the dropping when > overshoot is detected during encoding. This helps > to prevent some unneccessary drops for hard content. > > Change-Id: I258bf33883d46347efd44e1e192cb25c444d05fe TBR=sprang@chromium.org,marpan@google.com,builds@webmproject.org # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Ib0e84747430ba6d04e479f9efd86d628b80a1e67
2018-10-11Merge changes Ia5978d91,I3e3754f3Angie Chiang
* changes: Simplify mode_estimation / tpl_model_store Move [inter/intra]_cost change to mode_estimation
2018-10-10Add indep loop for motion_compensated_predictionAngie Chiang
This is for non_greedy_mv experiment only This is part of the change of changing mv search order according feature_score. Change-Id: I432efccd83d448a4a275dffd37921c76c3d84588
2018-10-11Merge "Loopfilter Multi-Thread Optimization"Harish Mahendrakar
2018-10-10Merge "subpel asm: fix whitespace"James Zern
2018-10-10Call tpl model build at the beginning of a GOPJingning Han
The gop index 0 is default as kf / gf. The effective first coding frame controlled by the current GOP rate allocation is indexed 1. Call the tpl model build for the current GOP once at index 1 position. This would unify the calling system for single/multi-layer ARF GOP structure. Change-Id: I4ce69337e04646098d5513c0aa56b4e0b4483337
2018-10-10Merge "Use 4-tap interp filter in speed 1 sub-pel motion search"Yunqing Wang
2018-10-10subpel asm: fix whitespaceJohann
Change-Id: I7a3314a268cf6049a7260361043e76d4561085c6
2018-10-09Simplify mode_estimation / tpl_model_storeAngie Chiang
1) Let mode_estimation() save the results into tpl_frame directly 2) In tpl_model_store(), replace copies of tpl_stats parameters by memset() Change-Id: Ia5978d91cb60cf896bd53d3f27701ef9ae3ba09a
2018-10-09Move [inter/intra]_cost change to mode_estimationAngie Chiang
Change-Id: I3e3754f349d31d17554f02bd14cd34620057ddcb
2018-10-09Merge changes I67700eba,I9e8f8ed3,Id93565ccAngie Chiang
* changes: Move feature_score into an independent for loop Add set_mv_limits() Move lambda into TplDepFrame
2018-10-09Use 4-tap interp filter in speed 1 sub-pel motion searchYunqing Wang
Added the 4-tap interp filter, and used it for speed 1 sub-pel motion search. Speed 2 motion search still used bilinear filter as before. Speed 1 borg test showed good bit savings. avg_psnr: ovr_psnr: ssim: lowres: -1.125 -1.179 -1.021 midres: -0.717 -0.710 -0.543 hdres: -0.357 -0.370 -0.342 Speed test at speed 1 showed ~10% encoder time increase, which was partially because of no SIMD version of 4-tap filter. Change-Id: Ic9b48cdc6a964538c20144108526682d64348301
2018-10-09Add accurate sub-pel motion searchYunqing Wang
Added the accurate sub-pel motion search. In this patch, used the 8-tap filter in sub-pel motion search, and this was enabled at speed 0. Speed 0 borg test showed that avg_psnr: ovr_psnr: ssim: lowres: -1.363 -1.403 -1.282 midres: -0.842 -0.849 -0.720 hdres: -0.480 -0.488 -0.503 Speed test at speed 0 showed ~8% encoder time increase. Change-Id: I194ca709681ea588f3f6381093940e22d03c4d7b
2018-10-09Merge "Set up the unit scaling factor for motion search"Yunqing Wang
2018-10-08Move feature_score into an independent for loopAngie Chiang
We aim at change the mv search order according to feature_score This is part of the change. Change-Id: I67700eba014df92190eabc78060cf29adf0fc38b
2018-10-08Add set_mv_limits()Angie Chiang
Change-Id: I9e8f8ed3eb150b3af1f465f595000bd05d43f3f6
2018-10-08Set up the unit scaling factor for motion searchYunqing Wang
Set up the unit scaling factor used during motion search. Change-Id: I6fda018d593b7ad4b7658d44c39be950a502d192
2018-10-08Loopfilter Multi-Thread OptimizationSupradeep T R
Take the original loopfilter multi-thread optimization (dafe064289a917977439ab6f4f002b9946496084) along with the fixes for bugs 1558 and 1562. BUG=webm:1558 BUG=webm:1562 Change-Id: Ibbf6bd13f4ffff0e79184ccfd6b85a49e067a6d8
2018-10-08Move lambda into TplDepFrameAngie Chiang
Change-Id: Id93565cca41e00d4ab5de4c6de30accabf2adc52
2018-10-08Merge "Avoid null checks related to pool->frame_bufs."Wan-Teh Chang
2018-10-08Merge "Correct a for loop in init_ref_frame_bufs."Wan-Teh Chang
2018-10-08Merge "Turn on ml_var_partition_pruning for speed 1"Hui Su