mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-24 00:02:52 +00:00
field pic timestamp fix
Originally committed as revision 3300 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
fc3e9202aa
commit
8dab64b6c1
@ -281,7 +281,7 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s,
|
||||
int32_t start_code;
|
||||
int frame_rate_index, ext_type, bytes_left;
|
||||
int frame_rate_ext_n, frame_rate_ext_d;
|
||||
int top_field_first, repeat_first_field, progressive_frame;
|
||||
int picture_structure, top_field_first, repeat_first_field, progressive_frame;
|
||||
int horiz_size_ext, vert_size_ext;
|
||||
|
||||
s->repeat_pict = 0;
|
||||
@ -328,6 +328,7 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s,
|
||||
break;
|
||||
case 0x8: /* picture coding extension */
|
||||
if (bytes_left >= 5) {
|
||||
picture_structure = (buf[3]>>5)&3;
|
||||
top_field_first = buf[3] & (1 << 7);
|
||||
repeat_first_field = buf[3] & (1 << 1);
|
||||
progressive_frame = buf[4] & (1 << 7);
|
||||
@ -343,6 +344,11 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s,
|
||||
s->repeat_pict = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* the packet only represents half a frame
|
||||
XXX,FIXME maybe find a different solution */
|
||||
if(picture_structure != 3)
|
||||
s->repeat_pict = -1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user