X264代码走读三(b_annexb参数)

一、简介

1)协议说明

  1. 使能b_annexb参数:X264编码器输出的码流格式符合《T-REC-H.264-201704-I!!PDF-E》Annex B Byte stream format+《T-REC-H.264-201704-I!!PDF-E》NAL unit syntax定义格式
  2. 关闭b_annexb参数:X264编码器输出的码流格式符合 “四个字节的长度字段“+《T-REC-H.264-201704-I!!PDF-E》NAL unit syntax定义格式。

2)差异说明

两种数据格式的差别主要是在NAL前面这三个或者四个字节的含义上。

annexb模式下,b_long_startcode下是4个字节的起始码,short startcode下是3个字节的起始码;当该NAL是NAL_SPS、NAL_PPS或者第一个Slicehead情况下,b_long_startcode为1。

非annexb模式下,起始4个字节为该NAL的长度。

播放器只能播放annexb格式的裸流。

X264编码器之所以有这两种格式,主要是为了配合封装MP4文件格式。MP4文件是由许多个BOX组成,每个BOX的结构是BOX 名+长度+净荷。若长度位不放在净荷信息里面,封装Mp4文件实现起来比较复杂。

二、annexb格式协议定义

根据《T-REC-H.264-201704-I!!PDF-E》Annex B Byte stream format定义,annexb格式如下:

三、X264代码实现对比

四、使能关闭annexb数据对比

 

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值