]> granicus.if.org Git - libvpx/commit
Revert "Prevent double application of min rate in two pass."
authorHui Su <huisu@google.com>
Thu, 23 Aug 2018 21:39:38 +0000 (21:39 +0000)
committerHui Su <huisu@google.com>
Thu, 23 Aug 2018 21:47:18 +0000 (14:47 -0700)
commitd10b1f233657054b1465d40f0b409c20029a540b
treed4838699f8b08c8eca50685f423800fbfabb3986
parentdbcb89be244e03074ee80e7bc6d5c22e6fc5dd79
Revert "Prevent double application of min rate in two pass."

This reverts commit 416b7051d7f610ed6d62dff18af7776ec520fd9c.

Reason for revert: it causes visual quality drop as described in b/112953058.

Original change's description:
> Prevent double application of min rate in two pass.
>
> The initial allocation of bits in the two pass code to each frame
> should be within the min max limits on the command line. However,
> when forming an ARF group the cost of the ARF is shared by frames
> in that group such that the residual bits for a frame could drop below
> the min value. This change prevents the minimum being re-applied
> after the cost of the ARF has been deducted as this may otherwise
> cause low rate sections to overshoot their target.
>
> Test runs comparing to a baseline run with min and max section pct
> 0-2000% vs one closer to the YT use case (50-150%) suggest that
> this fix not only results in better rate control but also gives a better
> rd outcome.
>
> For example the HD set vs 0-2000% baseline (opsnr, ssim).
> Old code (50-150):  +0.751, +1.099
> New code(50-150): +0.241, -0.009
>
> Change-Id: I715da7b130bf53ba8aa609532aa9e18b84f5e2ef

TBR=yaowu@google.com,paulwilkins@google.com,debargha@google.com,builds@webmproject.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ic9849e4e0db64e9d92bbb9df9cc923230a15c4df
vp9/encoder/vp9_ratectrl.c
vp9/encoder/vp9_ratectrl.h