分类: LINUX
2011-11-03 10:40:30
| byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 |
|---|---|---|---|---|---|
| 0000 0000 0000 0000 0000 0001 Start code |
Stream ID | PES packet length | |||
| Stream ID | Stream type | extension present? |
|---|---|---|
| 1011 1101 0xBD |
Private stream 1 (non MPEG audio, subpictures) | Yes |
| 1011 1110 0xBE |
Padding stream | No |
| 1011 1111 0xBF |
Private stream 2 (navigation data) | No |
| 110x xxxx 0xC0 - 0xDF |
MPEG-1 or MPEG-2 audio stream number x xxxx note: DVD allows only 8 audio streams |
Yes |
| 1110 xxxx 0xE0 - 0xEF |
MPEG-1 or MPEG-2 video stream number xxxx note: DVD allows only 1 video stream |
Yes |
| byte 6 | byte 7 | byte 8 | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 10 | PES scrambling control | PES priority | data alignment indicator | copyright | original or copy | PTS DTS flags | ESCR flag | ES rate flag | DSM trick mode flag | additional copy info flag | PES CRC flag | PES extension flag | PES header data length | ||||||||||
PES scrambling control -- 00 = not scrambled, others are user defined.
PES priority -- provides 2 priority levels, 0 and 1.
data alignment indicator -- if set to 1 indicates that the PES packet header is immediately followed by the video start code or audio syncword.
copyright -- 1 = packet contains copyrighted material.
original or copy -- 1 = original, 0 = copy.
PTS DTS flags -- Presentation Time Stamp / Decode Time Stamp. 00 = no PTS or DTS data present, 01 is forbidden.
if set to 10 the following data is appended to the header data field:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0010 | PTS 32..30 | 1 | PTS 29..15 | 1 | PTS 14..00 | 1 | |||||||||||||||||||||||||||||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0011 | PTS 32..30 | 1 | PTS 29..15 | 1 | PTS 14..00 | 1 | |||||||||||||||||||||||||||||||||
| 0001 | DTS 32..30 | 1 | DTS 29..15 | 1 | DTS 14..00 | 1 | |||||||||||||||||||||||||||||||||
ESCR -- if set to 1 the following data is appended to the header data field:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 00 | ESCR base 32..30 | 1 | ESCR base 29..15 | 1 | ESCR base 14..00 | 1 | ESCR ext | 1 | |||||||||||||||||||||||||||||||||||||||
ES rate -- if set to 1 the following data is appended to the header data field:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | ES rate | 1 | |||||||||||||||||||||
DSM trick mode - not used by DVD
additional copy info -- if set to 1 the following data is appended to the header data field:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|
| 1 | additional copy info | ||||||
PES CRC flag -- if set to 1 the following data is appended to the header data field:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| previous PES packet CRC | |||||||||||||||||||||
PES extension flag -- if set to 1 the following data is appended to the header data field:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|
| PES private data flag | pack header field flag | program packet sequence counter flag | P-STD buffer flag | 111 | PES extension flag 2 | ||
PES private data flag -- if set to 1 16 bytes of user defined data is appended to the header data field.
pack header field flag -- if set to 1 the 8-bit pack field length value is appended to the header data field.
program packet sequence counter flag -- if set to 1 the following data is appended to the header data field:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | packet sequence counter | 1 | MPEG1_MPEG2 identifier | original stuffing length | |||||||||||
P-STD buffer flag -- if set to 1 the following data is appended to the header data field:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01 | P-STD buffer scale 0 = 128 bytes 1 = 1024 bytes |
P-STD buffer size | |||||||||||||
PES extension flag 2 -- if set to 1 the following data is appended to the header data field:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | PES extension field length | reserved | |||||||||||||