diff options
author | paulwilkins <paulwilkins@google.com> | 2015-12-03 12:09:47 +0000 |
---|---|---|
committer | paulwilkins <paulwilkins@google.com> | 2015-12-03 15:19:02 +0000 |
commit | 4a79503b3e7819b66b928978d2d86ef1a38b5360 (patch) | |
tree | 6ed53f7d4d416c36efd9c82658259770f7d99f35 /vp9/encoder/vp9_ratectrl.c | |
parent | 623e988addfa8add7a21c69aa893ba42f7d5236e (diff) | |
download | libvpx-4a79503b3e7819b66b928978d2d86ef1a38b5360.tar libvpx-4a79503b3e7819b66b928978d2d86ef1a38b5360.tar.gz libvpx-4a79503b3e7819b66b928978d2d86ef1a38b5360.tar.bz2 libvpx-4a79503b3e7819b66b928978d2d86ef1a38b5360.zip |
Fix bug when overlaying middle arfs in multi-arf groups.
Do not reset the alt ref active flag when overlaying the middle
arf(s) of a multi arf group.
Change-Id: Ia55a55a376973f3fd17161429fd2afb07b4df31f
Diffstat (limited to 'vp9/encoder/vp9_ratectrl.c')
-rw-r--r-- | vp9/encoder/vp9_ratectrl.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c index fdff36315..45445df8d 100644 --- a/vp9/encoder/vp9_ratectrl.c +++ b/vp9/encoder/vp9_ratectrl.c @@ -1257,8 +1257,12 @@ static void update_golden_frame_stats(VP9_COMP *cpi) { rc->frames_since_golden = 0; // If we are not using alt ref in the up and coming group clear the arf - // active flag. - if (!rc->source_alt_ref_pending) { + // active flag. In multi arf group case, if the index is not 0 then + // we are overlaying a mid group arf so should not reset the flag. + if (cpi->oxcf.pass == 2) { + if (!rc->source_alt_ref_pending && (cpi->twopass.gf_group.index == 0)) + rc->source_alt_ref_active = 0; + } else if (!rc->source_alt_ref_pending) { rc->source_alt_ref_active = 0; } |