int magic_number;
int coding_index;
- int gop_index;
+ int gop_global_index;
int frames_since_key;
int show_index;
};
ToyRateCtrl *toy_rate_ctrl = new (std::nothrow) ToyRateCtrl;
if (toy_rate_ctrl == nullptr) return VPX_RC_ERROR;
toy_rate_ctrl->magic_number = kModelMagicNumber;
- toy_rate_ctrl->gop_index = 0;
+ toy_rate_ctrl->gop_global_index = 0;
toy_rate_ctrl->frames_since_key = 0;
toy_rate_ctrl->show_index = 0;
toy_rate_ctrl->coding_index = 0;
if (gop_info->is_key_frame) {
EXPECT_EQ(gop_info->last_gop_use_alt_ref, 0);
EXPECT_EQ(gop_info->frames_since_key, 0);
- EXPECT_EQ(gop_info->gop_index, 0);
- toy_rate_ctrl->gop_index = 0;
+ EXPECT_EQ(gop_info->gop_global_index, 0);
+ toy_rate_ctrl->gop_global_index = 0;
toy_rate_ctrl->frames_since_key = 0;
} else {
EXPECT_EQ(gop_info->last_gop_use_alt_ref, 1);
}
- EXPECT_EQ(gop_info->gop_index, toy_rate_ctrl->gop_index);
+ EXPECT_EQ(gop_info->gop_global_index, toy_rate_ctrl->gop_global_index);
EXPECT_EQ(gop_info->frames_since_key, toy_rate_ctrl->frames_since_key);
EXPECT_EQ(gop_info->show_index, toy_rate_ctrl->show_index);
EXPECT_EQ(gop_info->coding_index, toy_rate_ctrl->coding_index);
toy_rate_ctrl->show_index +=
gop_decision->gop_coding_frames - gop_decision->use_alt_ref;
toy_rate_ctrl->coding_index += gop_decision->gop_coding_frames;
- ++toy_rate_ctrl->gop_index;
+ ++toy_rate_ctrl->gop_global_index;
return VPX_RC_OK;
}
// frame in which case it will already have been done.
if (is_key_frame == 0) {
vp9_zero(twopass->gf_group);
- ++rc->gop_index;
+ ++rc->gop_global_index;
} else {
- rc->gop_index = 0;
+ rc->gop_global_index = 0;
}
vpx_clear_system_state();
gop_info.lag_in_frames = cpi->oxcf.lag_in_frames;
gop_info.show_index = cm->current_video_frame;
gop_info.coding_index = cm->current_frame_coding_index;
- gop_info.gop_index = rc->gop_index;
+ gop_info.gop_global_index = rc->gop_global_index;
codec_status = vp9_extrc_get_gop_decision(&cpi->ext_ratectrl, &gop_info,
&gop_decision);
int show_index; /**< display index, starts from zero*/
int coding_index; /**< coding index, starts from zero*/
/*!
- * index in group of picture, starts from zero.
+ * index of the current frame in this group of picture, starts from zero.
*/
int gop_index;
int ref_frame_coding_indexes[3]; /**< three reference frames' coding indices*/
* The index of the current gop, starts from zero, resets to zero
* when a keyframe is set.
*/
- int gop_index;
+ int gop_global_index;
} vpx_rc_gop_info_t;
/*!\brief The decision made by the external rate control model to set the