首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FFMPEG: HEVC解码器中的帧参数初始化

FFMPEG: HEVC解码器中的帧参数初始化
EN

Stack Overflow用户
提问于 2014-01-21 05:26:54
回答 1查看 960关注 0票数 3

我正在通过集成在FFMPEG中的HEVC解码器。我真的在试着理解它的流程和工作原理。

所谓流,我指的是在代码中读取输入.bin文件的各种参数的部分。就像它在哪里读取分辨率,在哪里它决定它需要播放的fps,输出显示格式,即yuv420p等等。

最初,我怀疑的是位于/libavformat/hevcdec.c文件中的hevc的演示器执行输入文件读取工作。有一个探测函数,用于检测在解码输入bin流时选择哪个解码器。更进一步,我们有一个FF_DEF_RAWVIDEO_DEMUXER。是否在此函数中从输入文件中读取分辨率和其他参数?

其次,我怀疑的是位于:/libavcodec/hevc_parser.c的hevc解析器,但在这里,我认为它只是解析框架数据,即找到框架的结尾。那么,我的假设是对的吗?

任何建议或预测都会对我很有帮助。请提供你的宝贵建议。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-03-07 21:14:35

为了更具体地了解解码器中发生的事情,最好从HEVC/H.265标准(http://www.itu.int/rec/T-REC-H.265)开始。它包含了您需要知道的所有信息,以找到分辨率、fps等的位置。

如果您想从FFMPEG获得更多细节,以下是一些提示:

  • /libavcodec/hevc_parser.c包含H.265附件B解析器,它将字节流转换为一系列NAL单元。每个NAL单元都有自己的格式,应该根据其NAL单元类型进行解析。
  • 如果您正在寻找视频序列的基本属性,您可能对SPS (序列参数集)解析感兴趣。标准的7.3.2.2.1节描述了它的格式,在ff_hevc_decode_nal_sps中有一个函数/libavcodec/hevc_ps.c,它从比特流中提取SPS参数。

注意:我说的是FFMPEG版本2.5.3。其他版本的代码结构可能不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21249833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档