Fix external rc test
Bug: aomedia:3219
Change-Id: Ifd3ac0bc53913e027f75e28b62430205b4a942f2
diff --git a/av1/ratectrl_rtc.cc b/av1/ratectrl_rtc.cc
index 5496ca6..04a63c2 100644
--- a/av1/ratectrl_rtc.cc
+++ b/av1/ratectrl_rtc.cc
@@ -99,6 +99,7 @@
cpi_->enc_seg.map = nullptr;
av1_cyclic_refresh_free(cpi_->cyclic_refresh);
}
+ aom_free(cpi_->ppi);
aom_free(cpi_);
}
}
@@ -124,7 +125,6 @@
memcpy(cpi_->ppi->level_params.target_seq_level_idx,
oxcf->target_seq_level_idx, sizeof(oxcf->target_seq_level_idx));
- cpi_->rc.rtc_external_ratectrl = 1;
UpdateRateControl(rc_cfg);
set_sb_size(cm->seq_params,
av1_select_sb_size(oxcf, cm->width, cm->height,
@@ -136,6 +136,8 @@
rc->rc_2_frame = 0;
av1_rc_init_minq_luts();
av1_rc_init(oxcf, rc);
+ // Enable external rate control.
+ cpi_->rc.rtc_external_ratectrl = 1;
cpi_->sf.rt_sf.use_nonrd_pick_mode = 1;
}
@@ -196,6 +198,8 @@
if (cpi_->svc.number_temporal_layers > 1 ||
cpi_->svc.number_spatial_layers > 1) {
if (cm->current_frame.frame_number == 0) av1_init_layer_context(cpi_);
+ // This is needed to initialize external RC flag in layer context structure.
+ cpi_->rc.rtc_external_ratectrl = 1;
av1_update_layer_context_change_config(cpi_, target_bandwidth_svc);
}
check_reset_rc_flag(cpi_);