Video Stream Start Codes for Different Codecs

Start Code Prefix (SCP)
H.264 and MPEG-4 Stream contain various codes that are identified by a common 3 byte string = 0x 00 00 01

H.264

SCP Identifies beginning of NAL Unit.

Stream Structure:
1. NAL Unit Code - 1 byte
2. NAL Unit Data

Anatomy of 1 byte = 8 bits of NAL Unit Code:
1 Bit - Always zero
2 Bits - 0 for non ref frames. Non zero for SPS, PPS and Ref frame.
5 bits - NAL Unit Type. 1 - Non IDR, 5 - IDR, 7 - SPS, 8 - PPS.

Typical NAL Unit Codes:
x7- SPS
x8 - PPS
x5 - IDR
x1- Reference P
01 - Non ref P
Note: x is non zero

Typical Stream:
00 00 00 01 67(SPS) 42 00 1E AA 40 28 02 DC 80 00 00 00 01 68(PPS) CE 38 80 00 00 00 01 65(IDR) 88 ..... 00 00 01 41(Non IDR Ref) 9A 44 ....




MPEG-4

Stream Struct:

1. Video object start code - 00 through 1F

2. Video object layer start code - 20 through 2F

3. Video Object Layer Info - Length and value depends upon content

3. vop start code - B6

4. VOP Info

Typical MP-4 Bitstream:

00 00 01 00(vo Start) 00 00 01 20(vol start) 00 C8 89 80 0C C9 10 3F 00 00 01 B6(vop start) 10 61 60 ...

Comments

Popular posts from this blog

shriranga kamalakanta

Deva Gharache dnyat kunala

Hindu aikya ghosh