系列文章目录
【x264编码器】章节1——x264编码流程及基于x264的编码器demo
【x264编码器】章节2——x264的lookahead流程分析
【x265编码器】章节2——编码流程及基于x265的编码器demo
目录
1.用于向前向预测模块添加图片x264_lookahead_put_frame
2.将帧数据推入输入帧列表x264_sync_frame_list_push
4.确定每个视频帧的类型lookahead_slicetype_decide
6.实际帧类型分析处理x264_slicetype_analyse
12.帧结构路径成本计算slicetype_path_cost
14.传递宏块树信息mbtree_propagate_list
一、模块功能
在x264中,前向预测(lookahead)是一种技术,用于改善视频编码的效率和质量。x264的前向预测功能涉及分析未来的视频帧,以在当前帧的编码过程中做出更好的决策。
同时也会进行帧内预测和帧间预测,不同点有两点:
1.在1/4的低分辨率情况下(宽和高各是原始的一半),以8x8块进行帧内和帧间预测;
2.帧内和帧间预测时,宏块遍历顺序是逆序的,即从下到上,从右到左,具体可以看slicetype_slice_cost;
代码框架如下:

x264完整的流程框架如下:

主要实现下面4项处理:
1.场景切换检测
场景切换检测的大体流程如下,详细代码分析见“2-8场景检测scenecut”;
本文围绕x264和x265编码器展开,着重分析了x265的lookahead模块。介绍了该模块功能,如场景切换检测、帧结构确定、MB tree、VBV等,还对模块代码进行详细分析,包括添加图片、确定帧类型、成本计算等函数,以提升视频编码效率和质量。
订阅专栏 解锁全文
1万+





