]> granicus.if.org Git - libvpx/commit
Add adaptation option for VBR.
authorPaul Wilkins <paulwilkins@google.com>
Mon, 13 Oct 2014 09:12:12 +0000 (10:12 +0100)
committerPaul Wilkins <paulwilkins@google.com>
Mon, 13 Oct 2014 09:16:44 +0000 (10:16 +0100)
commitf7f0eaa58119ba70bdd52806e44ba79e7374c7ff
treea5512ca90f41da8cc804279fb0a9c1ee951e532d
parenta62acf3c0ac35fc3763296f68dc02b23d65165ab
Add adaptation option for VBR.

Allow min and maxQ to creep when the undershoot
or overshoot exceeds thresholds controlled by the
command line under_shoot_pct and over_shoot_pct
values.

Default is 100%,100% which ~disables adaptation.

Derf results for example undershoot% / overshoot%:-

Head:- Mean abs (%rate error) = 14.4%

This check in:-
25%/25% - Mean abs (%rate error) = 6.7%
                  PSNR hit -1% SSIM -0.1%

5% / 5%  - Mean abs (%rate error) = 2.2%
                 PSNR hit -3.3% SSIM - 1.1%

Most of the remaining error and most of the quality hit is
at extreme data rates. The adaptation code still has an
exception for material that is in effect static so that we
don't over adjust and over spend on YT slide show type
content.

(Rebase of If25a2449a415449c150acff23df713e9598d64c9
to resolve a auto-merge error)

Change-Id: Iec4e1613ef0d067454751d8220edb7058dfbd816
vp9/encoder/vp9_firstpass.c
vp9/encoder/vp9_firstpass.h
vp9/encoder/vp9_ratectrl.c
vp9/encoder/vp9_ratectrl.h