【x264编码器】章节2——x264的lookahead流程分析
系列文章目录HEVC视频编解码标准简介【x264编码器】章节1——x264编码流程及基于x264的编码器demo【x264编码器】章节2——x264的lookahead流程分析【x264编码器】章节3——x264的码率控制【x264编码器】章节4——x264的帧内预测流程【x264编码器】章节5——x264的帧间预测流程【x264编码器】章节6——x264的变换量化【x265编码器】章节1——lookahead模块分析【x265编码器】章节2——编码流程及基于x265的编码器demo【x265编码器】章节3——帧内预测流程【x265编码器】章节4——帧间预测流程【x265编码器】章节5——x265帧间运动估计流程【x265编码器】章节6——x265的码率控制【x265编码器】章节7——滤波模块【x265编码器】章节8——变换量化模块目录系列文章目录一、模块功能1.场景切换检测2.帧结构确定3.MB tree4.VBV5.大体流程二、模块代码分析1.用于向前向预测模块添加图片x264_lookahead_put_frame2.将帧数据推入输入帧列表x264_sync_frame_list_push3.预测线程主线程lookahead_thread4.确定每个视频帧的类型lookahead_slicetype_decide5.进行类型分析x264_slicetype_decide6.实际帧类型分析处理x264_slicetype_analyse7.进行VBV预测vbv_lookahead8.场景检测scenecut9.每帧成本计算slicetype_frame_cost10.每片成本计算slicetype_slice_cost11.每个MB的成本计算slicetype_mb_cost12.帧结构路径成本计算slicetype_path_cost13.生成宏块树macroblock_tree14.传递宏块树信息mbtree_propagate_list点赞、收藏,会是我继续写作的动力!赠人玫瑰,手有余香一、模块功能在x264中,前向预测(lookahead)是一种技术,用于改善视频编码的效率和质量。x264的前向预测功能涉及分析未来的视频帧,以在当前帧的编码过程中做出更好的决策。同时也会进行帧内预测和帧间预测,不同点有两点:1.在1/4的低分辨率情况下(宽和高各是原始的一半),以8x8块进行帧内和帧间预测;2.帧内和帧间预测时,宏块遍历顺序是逆序的,即从下到上,从右到左,具体可以看slicetype_slice_cost;代码框架,如下:x264完整的流程框架如下:主要实现下面4项处理:1.场景切换检测场景切换检测的大体流程如下,详细代码分析见“2-8场景检测scenecut”;