]> granicus.if.org Git - libvpx/commit
Add ml_var_partition experiment
authorHui Su <huisu@google.com>
Tue, 25 Sep 2018 19:19:53 +0000 (12:19 -0700)
committerHui Su <huisu@google.com>
Fri, 28 Sep 2018 16:07:54 +0000 (09:07 -0700)
commita2cd0170163b58cb151e19e26b7cb0b23f1783c4
tree2bcde74f8ed9312bed17977c3c4fb75ccbf3ce27
parent308454502c665aaff9366206ce798bd4940772d0
Add ml_var_partition experiment

Make partition decisions using machine learning models. The goal is to
achieve better coding quality than the variance-based parititioning
without much encoding speed loss.

To enable this experiment, use --enable-ml-var-partition for config.

When eanbled, the variance-based partitioning is replaced by this ML
based partitioing for speed 6 and above in real time mode(except low
resolution or high bit-depth).

Current coding gains(average PSNR):
                speed 6      speed 7      speed 8
rtc              2.04%        2.65%        3.90%
ytlivehr         3.11%        4.53%       11.57%
hdres(rtc mode)  5.10%

Further testing and tuning is needed to see if the speed and quality
tradeoff is reasonable.

Change-Id: I0da5a2fbc22c3261832b32920ee36d9b19d417af
configure
vp9/encoder/vp9_block.h
vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_partition_models.h
vp9/encoder/vp9_speed_features.c
vp9/encoder/vp9_speed_features.h