【x264编码器】章节2——x264的lookahead流程分析

本文围绕x264和x265编码器展开,着重分析了x265的lookahead模块。介绍了该模块功能,如场景切换检测、帧结构确定、MB tree、VBV等,还对模块代码进行详细分析,包括添加图片、确定帧类型、成本计算等函数,以提升视频编码效率和质量。

系列文章目录

   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 tree

4.VBV

5.大体流程

二、模块代码分析

1.用于向前向预测模块添加图片x264_lookahead_put_frame

2.将帧数据推入输入帧列表x264_sync_frame_list_push

3.预测线程主线程lookahead_thread

4.确定每个视频帧的类型lookahead_slicetype_decide

5.进行类型分析x264_slicetype_decide

6.实际帧类型分析处理x264_slicetype_analyse

7.进行VBV预测vbv_lookahead

8.场景检测scenecut

9.每帧成本计算slicetype_frame_cost

10.每片成本计算slicetype_slice_cost

11.每个MB的成本计算slicetype_mb_cost

12.帧结构路径成本计算slicetype_path_cost

13.生成宏块树macroblock_tree

14.传递宏块树信息mbtree_propagate_list

点赞、收藏,会是我继续写作的动力!赠人玫瑰,手有余香


一、模块功能

在x264中,前向预测(lookahead)是一种技术,用于改善视频编码的效率和质量。x264的前向预测功能涉及分析未来的视频帧,以在当前帧的编码过程中做出更好的决策。

同时也会进行帧内预测和帧间预测,不同点有两点:

1.在1/4的低分辨率情况下(宽和高各是原始的一半),以8x8块进行帧内和帧间预测;

2.帧内和帧间预测时,宏块遍历顺序是逆序的,即从下到上,从右到左,具体可以看slicetype_slice_cost;

代码框架如下:

x264完整的流程框架如下:

主要实现下面4项处理:

1.场景切换检测

场景切换检测的大体流程如下,详细代码分析见“2-8场景检测scenecut”;

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值