Mercurial > libavformat.hg
changeset 4344:582124bb2c15 libavformat
fix temporal offet of ipbb sequences, simplification welcome
author | bcoudurier |
---|---|
date | Mon, 02 Feb 2009 10:41:43 +0000 |
parents | b691846ea95e |
children | 8e3538adb529 |
files | mxfenc.c |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mxfenc.c Mon Feb 02 10:10:41 2009 +0000 +++ b/mxfenc.c Mon Feb 02 10:41:43 2009 +0000 @@ -894,9 +894,13 @@ 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; } }