x264_slicetype_decide函数(代码所在位置为“x264-snapshot-20171128-2245-stable\encoder\slicetype.c”)的主要作用为:真正用于分析帧类型(I\P\B帧)
调用顺序如下:
x264_encoder_encode —> x264_lookahead_get_frames —> x264_slicetype_decide —> x264_slicetype_analyse
分析x264_slicetype_analyse函数,需有以下认知作为前提:
x264_slicetype_analyse函数:
// 分析帧类型
void x264_slicetype_analyse( x264_t *h, int intra_minigop )
{
x264_mb_analysis_t a;
x264_frame_t *frames[X264_LOOKAHEAD_MAX+3] = { NULL, }; // lookahead线程内帧数
int num_frames, orig_num_frames, keyint_limit, framecnt;
int i_max_search