Hello again,

maybe this is somewhat OT, but I really hope there is someone who can 
answer:

I'm doing analysis of MPEG(2) headers and while having some data of a PS 
stream (PAL 25fps, 720x576) I get stuck with some data bytes according 
to ISO/IEC 13818-1 (2000). Here are some pieces of the header data part 
in question:

1: 00 00 01 e0                                        => video stream

2: 07 dc 31 00 03 de 91 11.00 03 8a 31

3: 00 00 01 b3 2d 02 40 33.24 9f 23 69 10 11 11 12 ...   => sequence header

The problem is at line 2: After the 16 bit length field 
PES_packet_length of 0x7dc I get 16 bits of flags (0x3100) and a length 
byte for the options following PES_header_data_length which is 0x03. The 
data alignment flag is 0, so I have to use a standard start code for the 
next sequence after PES_header_data_length + the value in there. When I 
do this I point after the 11 in line 1 and get 0x00038a31 and that is of 
course wrong. It should continue with line 3 at 0x000001b3. I'm 4 Bytes 
in offset less than that.

How's that? The flags say that the scrambling value is '11' which is 
user defined, no off. Is there some header scrambling in place?

At another place in the same stream I've found a '00' scrambling value, 
an alignment flag of '1' so that I have to jump to a one byte start code 
after the header ... which is also garbage (a 0x46 that matches no 
stream in this file) and I have '01' as PTS_DTS_flag which is undefined 
to ISO of 2000.

Are there major updates to the specification that say different things 
as of my interpretation? Or am I totally wrong with my assumptions?

Cheers,
Konran


_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to