我正试图检查来自TI达芬奇板上硬件编码器的h264位流。
00 00 0b c8 25 88 84 27 e4 a2 8e 32 77 87 ec 16 86 37 d7 8e 99 e1 8c 3b 8b ce fe a5 fc e9 9c f3 34 87 9f d7 ff 66 7d c1 ce ed 62 18 05 35 00 08 0f f6 69 12 08 a8 32 5e c7 fe c8 bf 77 e4 62 e4 9e 8b b0 6e f0 39 60 5b e8 26 78 52 d8 24 75 5c 2f 06 ce 71 04 aa cb e3 19 d0 dd 02 b5 e7 0e a7 ce 77 70 a9 7c 46 1e 65 b3 7b 02 c9 d4 72 d7 97 36 f3 59 93 e5 e6 92 ff 8f ba 29 03 d5 da 0a 7a 14 1f 19 b5 88 b1 98 7a 3b e1 58 a2 88 a1 5a 4a
前4个字节应该是末尾块的大小…
这个比特流的格式是什么?
如何提取nal_unit_type和slice_type/pict_type ?
是否存在禁止的零位?
该源声明流不需要包含起始码、序列参数集NALUs和图片参数集NALUs。在这种情况下,解码器必须从外部获得SPS和PPS nalu(解码器的某种额外数据参数…)。
ITU-T H.264标准和ISO/IEC MPEG-4 AVC标准(正式名称为ISO/IEC 14496-10 - MPEG-4 Part 10,高级视频编码)是联合维护的,因此它们具有相同的技术内容。(http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC)
H.264规范可在以下网址免费下载:http://www.itu.int/rec/T-REC-H.264/en
ISO版本目前价格为323.00瑞士法郎,网址为http://webstore.iec.ch/
比特流格式定义在ISO/IEC 14496-10
:
信息技术。视听对象的编码。第10部分:高级视频编码
您可以从itu.int网站下载该标准。
您提供的数据看起来像NAL单元5(有效载荷的第一个字节的低5位,在跳过长度的前4个字节之后),它不携带SPS/PPS单位。
参见先前关于H.264解码的主题,例如H.264流报头