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
This commit is contained in:
Guillaume Martres 2014-04-06 01:07:53 +02:00
parent 0ec5919d42
commit 4664b219a2

View File

@ -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