freeMXF.org
http://freemxf.org/forum/

about index table
http://freemxf.org/forum/viewtopic.php?f=2&t=43
Page 1 of 1

Author:  baiqian [ Thu Feb 16, 2006 3:25 am ]
Post subject:  about index table

I used mxfwrap like that:
mxfwrap -u -ip -pd=24 video.mpg video_op1a.mxf
and got video_op1a.mxf's dump info by mxfdump :
there are part of result:

Index Table Segment (first edit unit = 0, duration = 1) :
Indexing BodySID 0x0001 from IndexSID 0x0081

Bytestream Order:
EditUnit 0 for stream 0 is at 0x00000000, Flags=c0 *Exact*

Presentation Order:
EditUnit 0 for stream 0 is at 0x00000000, Flags=c0 *Exact*

Index Table Segment (first edit unit = 23, duration = 1) :
Indexing BodySID 0x0001 from IndexSID 0x0081

Bytestream Order:
EditUnit 23 for stream 0 is at 0x0000fd7c, Flags=33 *Exact*

Presentation Order:
EditUnit 23 for stream 0 is at 0x0000fd7c, Flags=33 *Exact*

Index Table Segment (first edit unit = 47, duration = 1) :
Indexing BodySID 0x0001 from IndexSID 0x0081

Bytestream Order:
EditUnit 47 for stream 0 is at 0x0001c6f7, Flags=33 *Exact*

Presentation Order:
EditUnit 47 for stream 0 is at 0x0001c6f7, Flags=33 *Exact*

Index Table Segment (first edit unit = 71, duration = 1) :
Indexing BodySID 0x0001 from IndexSID 0x0081

Bytestream Order:
EditUnit 71 for stream 0 is at 0x00028e02, Flags=33 *Exact*

Presentation Order:
EditUnit 71 for stream 0 is at 0x00028e02, Flags=33 *Exact*
..........

I wonder why the order is : 0,23,47,71
not is : 0,24,48,72
and assigned different value to param pd, got similar result
is it beacuse of mpeg's frame feature?

Author:  Matt Beard [ Thu Feb 16, 2006 1:42 pm ]
Post subject: 

I think what you are seeing here is caused by the MPEG temporal reordering.

The first frame in the first partition is edit unit 0 - no problem here.

The next partition starts with the edit unit that is the 25th edit unit in the stored MPEG stream, but will be the 24th edit unit when the stream is decoded.

If you work out the reordering of the frames in the stream you should find that although each partition does contain 24 frames, one of those frames has been reordered back from the following 24 frames, pushing the last of this chunk into the next partition.

This actually shows up a big problem with sparse index tables for MPEG - they don't give you exactly what you expect!

If you want to extract the essence for frames 47 to the end of the file you can't simply look up the entry for frame 47 and extract the indexed essence and anything following - this will be missing some data (probably even some frames!).

If you specify the -e option to mxfwrap new partitions will only start at edit points and the sparse index table will behave as expected (but you may not get exactly the partitioning you want). If the essence is all open-GOP you will only get a single partition!

Hope this helps!

Page 1 of 1 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/