rtc: Fix to frame_type setting for 1 pass rtc Set the cm->frame_type in av1_get_one_pass_rt_params, since its used in cyclic refresh which is called before av1_encode (where cm->frame_type is currently set). This will allow the refresh to start on the first frame following the key frame, as it was intended. Negligible change in psnr/ssim metrics or fps. Update in PSNR in rt_end_to_end_tests. Change-Id: I9333c7963de593cc99881baf5011230afcef4963
diff --git a/av1/encoder/ratectrl.c b/av1/encoder/ratectrl.c index a2df257..db0320c 100644 --- a/av1/encoder/ratectrl.c +++ b/av1/encoder/ratectrl.c
@@ -2068,4 +2068,5 @@ if (set_reference_structure && cpi->oxcf.speed >= 6 && cm->number_spatial_layers == 1 && cm->number_temporal_layers == 1) set_reference_structure_one_pass_rt(cpi, gf_update); + cm->current_frame.frame_type = frame_params->frame_type; }
diff --git a/test/rt_end_to_end_test.cc b/test/rt_end_to_end_test.cc index 49ae1db..1de22f0 100644 --- a/test/rt_end_to_end_test.cc +++ b/test/rt_end_to_end_test.cc
@@ -41,7 +41,7 @@ { 8, { { 0, 36.0 }, { 3, 36.5 } } } } }, { "niklas_1280_720_30.y4m", { { 6, { { 0, 34.2 }, { 3, 34.2 } } }, - { 7, { { 0, 33.7 }, { 3, 33.9 } } }, + { 7, { { 0, 33.7 }, { 3, 33.7 } } }, { 8, { { 0, 33.7 }, { 3, 33.5 } } } } } }; typedef struct {