From 4664b219a298387c009b393de2c2a023adfaa741 Mon Sep 17 00:00:00 2001 From: Guillaume Martres Date: Sun, 6 Apr 2014 01:07:53 +0200 Subject: 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 --- vp9/encoder/vp9_ratectrl.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'vp9/encoder') 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 -- cgit v1.2.3