summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Martres <smarter3@gmail.com>2014-04-06 01:07:53 +0200
committerGuillaume Martres <smarter3@gmail.com>2014-04-07 18:22:11 +0200
commit4664b219a298387c009b393de2c2a023adfaa741 (patch)
tree551dda4c0a9ab582ed9575a7bf19a1e0a8eee8bf
parent0ec5919d4202c6e99b31cf707c7125536498f1f4 (diff)
downloadlibvpx-4664b219a298387c009b393de2c2a023adfaa741.tar
libvpx-4664b219a298387c009b393de2c2a023adfaa741.tar.gz
libvpx-4664b219a298387c009b393de2c2a023adfaa741.tar.bz2
libvpx-4664b219a298387c009b393de2c2a023adfaa741.zip
vp9_ratectrl: change ARF overlays rate correction factor
ARF overlays now use the same rate correction factor as regular inter frames, further testing would be needed to see if it makes sense to use a completely separate rate correction factor for ARF overlays. $ vpxenc --cpu-used=5 --fps=50/1 --target-bitrate=2000 parkjoy.y4m -o out.webm => Before: 3356 kb/s => After: 2271 kb/s Change-Id: I73e4defa615ba7a8a2bdb845864f4b1721cbbffe
-rw-r--r--vp9/encoder/vp9_ratectrl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c
index 26e89addf..c033b2fb6 100644
--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -272,6 +272,7 @@ static double get_rate_correction_factor(const VP9_COMP *cpi) {
return cpi->rc.key_frame_rate_correction_factor;
} else {
if ((cpi->refresh_alt_ref_frame || cpi->refresh_golden_frame) &&
+ !cpi->rc.is_src_frame_alt_ref &&
!(cpi->use_svc && cpi->oxcf.end_usage == USAGE_STREAM_FROM_SERVER))
return cpi->rc.gf_rate_correction_factor;
else
@@ -284,6 +285,7 @@ static void set_rate_correction_factor(VP9_COMP *cpi, double factor) {
cpi->rc.key_frame_rate_correction_factor = factor;
} else {
if ((cpi->refresh_alt_ref_frame || cpi->refresh_golden_frame) &&
+ !cpi->rc.is_src_frame_alt_ref &&
!(cpi->use_svc && cpi->oxcf.end_usage == USAGE_STREAM_FROM_SERVER))
cpi->rc.gf_rate_correction_factor = factor;
else