fix temporal offet of ipbb sequences, simplification welcome

Originally committed as revision 16940 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Baptiste Coudurier 2009-02-02 10:41:43 +00:00
parent b17f1a0764
commit a4397fa911

View File

@ -894,9 +894,13 @@ static int mxf_write_index_table_segment(AVFormatContext *s)
for (j = i+1; j < mxf->edit_units_count; j++) {
temporal_offset++;
if (mxf->index_entries[j].flags & 0x10) { // backward prediction
// next is not b, so is reordered
if (!(mxf->index_entries[i+1].flags & 0x10))
temporal_offset = -temporal_offset;
// next is not b, so is reordered
if (!(mxf->index_entries[i+1].flags & 0x10)) {
if ((mxf->index_entries[i].flags & 0x11) == 0) // i frame
temporal_offset = 0;
else
temporal_offset = -temporal_offset;
}
break;
}
}