summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-06-30Merge "vp9: Reset params for cyclic refresh on slide change"Marco Paniconi
2018-06-30Merge "vp9: Reduce quality artifact for real-time scene-content."Marco Paniconi
2018-06-29vp9: Reset params for cyclic refresh on slide changeMarco Paniconi
Reset the last_coded_q_map and the sb->index in the cyclic_refresh on a re-encode for slide change, so the refresh can start again right after slide change. Change-Id: I10cbc8354de8f7c2863b4212e6793b58a048b330
2018-06-29Merge "Add partition breakout models for 720p resolution"Hui Su
2018-06-29vp9: Reduce quality artifact for real-time scene-content.Marco Paniconi
Add scene detection flag to choose_partitioning to force split of 64x64 block partition. This reduces artifacts on slide changes. Bug:b/110978869 Change-Id: I9cc79a7c03f3aa2edeb28656b09a2177b72d59a8
2018-06-29Add partition breakout models for 720p resolutionHui Su
Add partition search breakout models for 720p resolution, currently enabled only for speed 0. Compression performance change is neutral. Tested encoding speed over 20 720p clips: Speed gain(%) QP=55 QP=45 QP=35 max 22.1 20.3 29.8 average 10.3 9.1 11.4 Change-Id: I07499728bbc5b80035fc66fad882ea556c8d07f2
2018-06-29Refactor to use unified multiplier for partition searchJingning Han
Change-Id: I26ced25ff2e20ec414d5ecaa7d26f4a69175896c
2018-06-29Merge "Enhanced partition experiment."Paul Wilkins
2018-06-29Merge "Skip temporal dependency build when the speed feature is off"Jingning Han
2018-06-29Merge "Avoid operation on INT64_MAX value"Jingning Han
2018-06-29Merge "libyuv: disable AVX512 in clang"James Zern
2018-06-28vp9-svc: Adjust threshold for early exit on goldenMarco Paniconi
Use the avg_frame_low_motion to reduce/turnoff this early exit for higher motion content. Get some quality back for higher motion clips and keep the same exit thresh for low motion clips. Change-Id: I95daf754dc0048b3e935d1a753f7f1101e6ffb77
2018-06-28Skip temporal dependency build when the speed feature is offJingning Han
Change-Id: I888761193882cc92720e0efaea5229a04a6ed67f
2018-06-28libyuv: disable AVX512 in clangJohann
ARGBToRGB24Row_AVX512VBMI fails to compile on Mac: row_gcc.cc: instruction requires: AVX-512 VBMI ISA AVX-512 VL ISA BUG=libyuv:789 Change-Id: Ibd584e8c82e3ce86ec5460b4243f84f5dbdf4c81
2018-06-28Avoid operation on INT64_MAX valueJingning Han
If the rate cost returns as INT_MAX, directly set the rdcost as INT64_MAX. Change-Id: I3ea1963aff10040dd9cef805beed9aebeedb93bc
2018-06-28Enhanced partition experiment.Paul Wilkins
This patch relates to motion artifacts as described in Issue 73484098 The aim of this patch is to promote the use of smaller partition sizes in places where some of the sub blocks have very low spatial complexity and some have much higher complexity. The patch can have a small impact on encode speed, but much less than alternative approaches such as lowering the rd thresholds that limit the partition search when distortion is low. The patch also applies a similar sub block strategy for AQ1. Metrics results for our standard sets over typical YT rates. (Overall PSNR, SSIM, PSNR HVS) % -ve better. Low Res -0.274, -0.303, -0.330 Mid Res 0.001, - 0.128, -0.100 Hd Res -0.236, -0.371, -0.349 N 2K -0.663, -0.798, -0.708 N 4K -0.488, -0.588, -0.517 Change-Id: Ice1fc977c1d29fd5e401f9c7c8e8ff7a5f410717
2018-06-28Merge "vp9-svc: Fix to early golden exit nonrd-pickmode"Marco Paniconi
2018-06-28Merge "vp9-svc: Set avg_frame_low_motion for lower layers."Marco Paniconi
2018-06-27Merge "Support Power8/Power9 tuning"Luca Barbato
2018-06-27vp9-svc: Set avg_frame_low_motion for lower layers.Marco Paniconi
The avg_frame_low_motion metric is only computed on the top spatial layer, and since its part of the layer context struct, it needs to written to all lower spatial layers for consistency. Small/minor change in metrics. Change-Id: I92a001c37aeb332e613212288b13a2ed9745af88
2018-06-27vp9-svc: Fix to early golden exit nonrd-pickmodeMarco Paniconi
For SVC: apply the sse_zeromv early exit also to the case where golden is second temporal reference. Set the thresh_svc_golden threshold for this case. This is reduce the encode time for case where golden is second temporal reference for SVC. Change-Id: I8c0c87dd746579d3c4f5e983c7f9dd0a1e1476e0
2018-06-27Add Speed Tests to Trans32x32TestLuc Trudeau
Speed tests are disabled by default. Change-Id: I49f8da3d3e1e4d9c72b17fc47c098284e7d84236
2018-06-27Support Power8/Power9 tuningLuca Barbato
Change-Id: I50b32f37f77224ebf0470545152c83ae2ed3cfa3
2018-06-27Merge "[VSX] Drop the clang-4 workaround for vec_xxpermdi"Luca Barbato
2018-06-27Merge "Add reference frame update flags for hierarchical"Zoe Liu
2018-06-27Merge changes Ic2183e8b,If906ec9bLuc Trudeau
* changes: [VSX] Replace vec_pack and vec_perm with single vec_perm VSX Version of fdct32x32_rd
2018-06-27Merge "Turn on ML partition search breakout on speed 0"Hui Su
2018-06-27[VSX] Replace vec_pack and vec_perm with single vec_permLuc Trudeau
vpx_quantize_b: VP9QuantizeTest Speed Test (POWER8 Model 2.1) 32x32 Old VSX time = 8.1 ms, new VSX time = 7.9 ms vp9_quantize_fp: VP9QuantizeTest Speed Test (POWER8 Model 2.1) 32x32 Old VSX time = 6.5 ms, new VSX time = 6.2 ms Change-Id: Ic2183e8bd721bb69eaeb4865b542b656255a0870
2018-06-27VSX Version of fdct32x32_rdLuc Trudeau
Low bit depth version only. Passes the Trans32x32Test test suite. Trans32x32Test Speed Test (POWER9 Model 2.2) 32x32 C time = 212.7 ms (±0.1 ms), VSX time = 82.3 ms (±0.0 ms) [2.6x] Change-Id: If906ec9b56ce3818cae0cc462c7277284ab29859
2018-06-27Merge "third_party/libyuv: update to a37e7bfe"Johann Koenig
2018-06-27Merge "BUG FIX: Initialize AverageTestBase members"James Zern
2018-06-26BUG FIX: Initialize AverageTestBase membersScott LaVarnway
bit_depth_ was not initialized (used in FillRandom) and caused valgrind errors. BUG=webm:1542 Change-Id: I09a9acd54de0dfa4f9006304f45eb20883c9908c
2018-06-26Merge "vp9 svc: Add tests for sync on 2nd & 3rd spatial layers."Jerome Jiang
2018-06-26Merge "vp9 svc: Move CheckLayerRateTargeting into class."Jerome Jiang
2018-06-26Merge "vp9 svc: Fix uninitialized data members in frame sync tests."Jerome Jiang
2018-06-26vp9 svc: Move CheckLayerRateTargeting into class.Jerome Jiang
No need to pass arguments that are already members of the class. Change-Id: I887d33d6037b561dee5dd8d49bb112d9120cd2a7
2018-06-26vp9 svc: Add tests for sync on 2nd & 3rd spatial layers.Jerome Jiang
Change-Id: I4d8b6d114d9a407f5bb879ab059a66425976f1df
2018-06-26vp9 svc: Fix uninitialized data members in frame sync tests.Jerome Jiang
BUG=webm:1542 Change-Id: If3e0b32a6832740b9af2f5c2d9418a6664297f57
2018-06-26Turn on ML partition search breakout on speed 0Hui Su
Enable ML based partition search breakout on speed 0 when frame resolution is less then 720p and bitdepth is 8. Compression performance change is neutral. Tested encoding speed over 20 480p sequences: Speed gain(%) QP=30 QP=40 QP=50 QP=60 max 14.4 18.6 17.8 24.4 average 4.6 9.0 8.0 13.2 Change-Id: Ia0d2947030ac774dc1533eb27ffc57f5b788a6ce
2018-06-25vp9: Add lower Q limt to cyclic refresh usage.Marco Paniconi
Disable the cyclic refresh for very low average Q. This reduces encoded bitrate for static slides after the the quality has ramped up well enough (low Q). And as the cyclic refresh is not needed at low Q in most cases, this has minimal/no effect on quality on RTC set. Change-Id: Id6d449aa2351bb6886d72aafb2d406e967ed2789
2018-06-25Merge "Add vpx_highbd_avg_8x8, vpx_highbd_avg_4x4"Scott LaVarnway
2018-06-25Merge "vp9: Fixes for lossless mode for real-time mode."Marco Paniconi
2018-06-25Merge "vp9-svc: Fix to frame dropping when layer is skipped."Marco Paniconi
2018-06-25Merge "Add a partition search breakout model"Hui Su
2018-06-25vp9: Fixes for lossless mode for real-time mode.Marco Paniconi
Fixes to nonrd coding mode for lossless mode: keep skip_txfm to 0 (no skip) and disable the encoder breakout. This makes the encoding lossless when that mode is selected for real-time (nonrd pickmode). Also the disable the cyclic refresh for lossless mode. Change-Id: I20a11ef6df08accec472d26fabebd14d51f4d337
2018-06-25vp9-svc: Fix to frame dropping when layer is skipped.Marco Paniconi
Fix condition in frame dropper for SVC to handle case where spatial layer is skipped encoded (due to 0 bitrate). Change-Id: I24185178774d73e8bb1c406acc0292422dfbe174
2018-06-24Add a partition search breakout modelHui Su
for q-index between 100 and 150. This only affects speed 1 and 2, resolution under 720p, q-index between 100 and 150, low bit-depth. Compression performane change is neutral. Encoding speed gain is up to 16% for speed 1; up to 6% for speed 2. Results from encoding city_4cif_30fps: speed 1, QP=36 before: 37.964 dB, 45581b/f, 2.73 fps after: 37.958 dB, 45510b/f, 3.16 fps speed 1, QP=28 before: 39.297 dB, 82452b/f, 2.14 fps after: 39.297 dB, 82310b/f, 2.25 fps speed 2, QP=36 before: 37.903 dB, 45586b/f, 4.08 fps after: 37.895 dB, 45492b/f, 4.34 fps speed 2, QP=28 before: 39.224 dB, 82272b/f, 3.03 fps after: 39.223 dB, 82152b/f, 3.17 fps Change-Id: Ieaefedad902df80aa9699545fa06294601955803
2018-06-24Merge "VP9 SVC: Add tests for layer sync on base layer."Jerome Jiang
2018-06-23VP9 SVC: Add tests for layer sync on base layer.Jerome Jiang
Create tests for sync layer. The purpose of new tests is not to check bitrate targeting, thus they're put in a new file. Create a base class for svc tests, which is also inherited by svc datarate tests, to reduce code redundancy. Start decoding in the test from the frame of layer sync. Change-Id: I7226d208279ad785873dffef51e0a8abef23b256
2018-06-22Add reference frame update flags for hierarchicalZoe Liu
Previous CLs have implemented the construction of the hierarchical structure at the encoder side. This CL is to define and configure the according flags that will guide the reference frame update according to the constructed hierarchical structure. Change-Id: Iae55f2400f7c7beff41feff9308f87bfc70c7b21