Fix corrupt arf groups due to low "lag_in_frames"
Having a very small value for "lag_in_frames" can result in corrupt arf groups including displayed frames that update the arf buffer and fake overlay frames that are not in fact overlays of real arfs but are nevertheless starved of bits. Leaving lag_in_frames at the default of 25 for these 5 frame two pass VBR tests should now give rise to a valid ARF coding pattern as follows:- K(ey), A(rf), N(ormal), N, N, O(verlay). This change is part of a response to BUG=webm:1454 where broken arf groups interacted badly with a change that corrects for large rate misses. However, it may still in some cases increase encode time by virtue of the fact that the unit test now codes a correct coding pattern with "hidden" ARF frames. Change-Id: Ifd0246a4c1d0be247247c754024d7a4ed5f66a6b
This commit is contained in:
parent
e022ce84ac
commit
48110d0f79
@ -50,7 +50,6 @@ class VPxFirstPassEncoderThreadTest
|
||||
InitializeConfig();
|
||||
SetMode(encoding_mode_);
|
||||
|
||||
cfg_.g_lag_in_frames = 3;
|
||||
cfg_.rc_end_usage = VPX_VBR;
|
||||
cfg_.rc_2pass_vbr_minsection_pct = 5;
|
||||
cfg_.rc_2pass_vbr_maxsection_pct = 2000;
|
||||
@ -238,7 +237,6 @@ class VPxEncoderThreadTest
|
||||
SetMode(encoding_mode_);
|
||||
|
||||
if (encoding_mode_ != ::libvpx_test::kRealTime) {
|
||||
cfg_.g_lag_in_frames = 3;
|
||||
cfg_.rc_end_usage = VPX_VBR;
|
||||
cfg_.rc_2pass_vbr_minsection_pct = 5;
|
||||
cfg_.rc_2pass_vbr_maxsection_pct = 2000;
|
||||
|
Loading…
x
Reference in New Issue
Block a user