From a4397fa911b79bd04f90e1a49dab5ef15226baab Mon Sep 17 00:00:00 2001 From: Baptiste Coudurier Date: Mon, 2 Feb 2009 10:41:43 +0000 Subject: [PATCH] fix temporal offet of ipbb sequences, simplification welcome Originally committed as revision 16940 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/mxfenc.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c index eaaece35dd..b615e4644e 100644 --- a/libavformat/mxfenc.c +++ b/libavformat/mxfenc.c @@ -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; } }