diff options
author | Paul Wilkins <paulwilkins@google.com> | 2013-12-09 17:48:35 +0000 |
---|---|---|
committer | Paul Wilkins <paulwilkins@google.com> | 2013-12-19 15:32:50 +0000 |
commit | e1312c36964f7ff23e80478f7410e5e026afb837 (patch) | |
tree | 26bf504e4e7acb926dded4356731c23df5be28d4 | |
parent | d99e89084080c1d8060f926c0ccf28c9e6a3fdcb (diff) | |
download | libvpx-e1312c36964f7ff23e80478f7410e5e026afb837.tar libvpx-e1312c36964f7ff23e80478f7410e5e026afb837.tar.gz libvpx-e1312c36964f7ff23e80478f7410e5e026afb837.tar.bz2 libvpx-e1312c36964f7ff23e80478f7410e5e026afb837.zip |
Further q estimate adjustment.
Slightly reduces the mean tendency to undershoot target
rate in vbr, especially when using the memory less mode
and when recodes are disabled.
The effect is primarily at low q.
Change-Id: I59a593b99522cc7da31b4134d1c8a65f5b7b7c53
-rw-r--r-- | vp9/encoder/vp9_firstpass.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_firstpass.c b/vp9/encoder/vp9_firstpass.c index 3dcf6baac..d2bcabe27 100644 --- a/vp9/encoder/vp9_firstpass.c +++ b/vp9/encoder/vp9_firstpass.c @@ -954,7 +954,7 @@ static double calc_correction_factor(double err_per_mb, const double error_term = err_per_mb / err_divisor; // Adjustment based on actual quantizer to power term. - const double power_term = MIN(vp9_convert_qindex_to_q(q) * 0.01 + pt_low, + const double power_term = MIN(vp9_convert_qindex_to_q(q) * 0.0125 + pt_low, pt_high); // Calculate correction factor @@ -1014,7 +1014,7 @@ static int estimate_max_q(VP9_COMP *cpi, int bits_per_mb_at_this_q; err_correction_factor = calc_correction_factor(err_per_mb, - ERR_DIVISOR, 0.4, 0.90, q); + ERR_DIVISOR, 0.5, 0.90, q); bits_per_mb_at_this_q = vp9_rc_bits_per_mb(INTER_FRAME, q, err_correction_factor); @@ -1064,7 +1064,7 @@ static int estimate_cq(VP9_COMP *cpi, // Error per MB based correction factor err_correction_factor = - calc_correction_factor(err_per_mb, 100.0, 0.4, 0.90, q) * clip_iifactor; + calc_correction_factor(err_per_mb, 100.0, 0.5, 0.90, q) * clip_iifactor; bits_per_mb_at_this_q = vp9_rc_bits_per_mb(INTER_FRAME, q, err_correction_factor); |