aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Wilkins <paulwilkins@google.com>2013-12-09 17:48:35 +0000
committerPaul Wilkins <paulwilkins@google.com>2013-12-19 15:32:50 +0000
commite1312c36964f7ff23e80478f7410e5e026afb837 (patch)
tree26bf504e4e7acb926dded4356731c23df5be28d4
parentd99e89084080c1d8060f926c0ccf28c9e6a3fdcb (diff)
downloadlibvpx-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.c6
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);