AVCC header sequence header or extradata
按位讀取流程:??
8? version(版本是1,也是就0x01 )
8? avc profile(值來(lái)自 sps[0][1] )
8? avc compatibility(值來(lái)自 sps[0][2] )
8? avc level(值來(lái)自 sps[0][3] )
6? reserved(保留位蛤迎,且所有位置1 )
2? NALULengthSizeMinusOne ( 每個(gè)表示NALU數(shù)據(jù)長(zhǎng)度所占的Byte -1敛熬。如果結(jié)果為0蝴光,則表示頭為1個(gè)Byte)
3? reserved ( all bits on )
5? number of SPS NALUs (usually 1)
repeated once per SPS:
? 16? ? SPS size
? variable? SPS NALU data
8? number of PPS NALUs (usually 1)
repeated once per PPS
? 16? ? PPS size
? variable PPS NALU data
原始數(shù)據(jù):
逐字節(jié)解析:
01: version
64: avc profile
00: avc compatibility
0A: avc level
FF: reserved + NALULengthSizeMinusOne, NALULengthSizeMinusOne= (0xFF&0x3)+1 = 0x3 + 1 = 4俊嗽,表示每個(gè)NALU需要4 bytes
E1: reserved(3 bits)+ number of SPS NALUs(5 bits)墨辛,當(dāng)前頭SPS個(gè)數(shù)=0xE1&0x1F = 0x1 = 1,說(shuō)明后續(xù)只有1個(gè)SPS
00 19: 0x0019癣防,當(dāng)前SPS的長(zhǎng)度為25 bytes
67 64 00 0A AC 72 84 44 26 84 00 00 03 00 04 00 00 03 00 CA 3C 48 96 11 80 (SPS到此結(jié)束)
01: 含有一個(gè) PPS
00 07:PPS的長(zhǎng)度為7 bytes
68 E8 43 8F 13 21 30 (PPS到此結(jié)束)
00 00 02 41 :根據(jù)前面計(jì)算得到的NALULengthSizeMinusOne可以知道需要讀取的數(shù)據(jù)長(zhǎng)度為4 bytes, 0x0241=577 bytes
65 88 81 00 05 4E 7F 87 DF 61 A5 8B ...:577 bytes數(shù)據(jù)