tree f3f03d50b58cbeb634b833671a7bad18b589f6ec
parent e443d539fcca6825ab12ff2714bde07a04069b71
author Urvang Joshi <urvang@google.com> 1542658337 -0800
committer Urvang Joshi <urvang@google.com> 1542738436 +0000

Further improve compression for very static videos

For unforced (including the 1st) keyframe, we make two changes:

(1) For active_best_quality, divide original by 3, instead of 4. This
works better when tested over larger set of very static videos.

(2) Earlier, recode loop either:
  (a) ended up using q = active_best_quality after several loops, OR
  (b) selected a worse q than active_best_quality and ended up on the
  borderline of undershooting.

So, we just start with q = active_best_quality directly, making encodes
of the unforced keyframe much faster and also the best quality, whenever
there is enough bandwidth. (I observed that, in practice, best quality
always seems to be selected for such very static videos).

This seems to give a much better trade-off between PSNR and bitrate.

STATS_CHANGED for very static videos.
Exactly neutral for non-static videos.

BUG=b/119104564

Change-Id: Idb39a510a9119227e3edc69ea99bf27ab1a669ec
