I'm demuxing one program stream file and I can't figure out what one PES packet is carrying. (see picture below). Stream ID is 0xE0, so it is a video stream. Since I'm reading a program stream file, it is the only video stream. As you can see, the packet length is 0x9C, the next byte 0x80 tells us that first two bits are '10', as expected and PES_scrambling_control, PES_priority, data_alignment_indicator, copyright and original_or_copy are all 0 (not set). The next byte 0x09 tells us that we have DSM_trick_mode_flag and PES_extension_flag set. The next byte 0x78 is PES header length. If we skip PES header, we will be at the first byte in the framed area containing 33 bytes. It begins with 00 37 B0... These 33 bytes should be skipped when demuxing, but I can't figure out why. Any comment or suggestion is very welcome.
PES packet hex values as text:
00 00 01 e0 00 9c 80 09 78 00 52 40 09 ac 00 3f 40 00 22 00 d7 c0 00 e2 00 da 20 04 8a 00 62 60 02 36 00 46 10 0e a1 00 28 50 01 b9 00 d9 d0 09 cd 00 67 30 0f a3 00 44 b0 04 6b 00 8f b0 0d e7 00 64 f0 00 57 00 41 70 09 d7 00 a7 70 0d 5f 00 73 f0 0c 40 80 f8 88 00 b0 80 23 88 06 68 80 38 88 0b a8 80 be 08 07 b0 80 b3 f0 0a 10 80 67 70 08 90 80 b6 70 03 10 80 7f b0 09 00 80 f1 b0 0f 2f 00 37 b0 09 77 00 a4 70 0e 37 00 ca 70 07 47 00 b1 b0 03 33 00 3e 30 06 bd 00 77 50 05 2d 00 15 50