summaryrefslogtreecommitdiff
path: root/libavcodec/mpegvideo_parser.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2008-02-20 03:20:06 +0000
committerMichael Niedermayer <michaelni@gmx.at>2008-02-20 03:20:06 +0000
commitff2635b273269dff524bc89242902011b68794ff (patch)
treef643dca3a71abc8308fde12d4bd65c34997427d6 /libavcodec/mpegvideo_parser.c
parent8815bf011e309aea8774a0cd584cbfadc16558c0 (diff)
Make timestamp interpolation work with mpeg2 field pictures.
Cleaner/simpler solutions are welcome. Originally committed as revision 12156 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/mpegvideo_parser.c')
-rw-r--r--libavcodec/mpegvideo_parser.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavcodec/mpegvideo_parser.c b/libavcodec/mpegvideo_parser.c
index 8beaeb41ab..cc423b7288 100644
--- a/libavcodec/mpegvideo_parser.c
+++ b/libavcodec/mpegvideo_parser.c
@@ -36,6 +36,7 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s,
int horiz_size_ext, vert_size_ext, bit_rate_ext;
//FIXME replace the crap with get_bits()
s->repeat_pict = 0;
+ s->parity = 0;
buf_end = buf + buf_size;
while (buf < buf_end) {
start_code= -1;
@@ -105,8 +106,11 @@ static void mpegvideo_extract_headers(AVCodecParserContext *s,
/* the packet only represents half a frame
XXX,FIXME maybe find a different solution */
- if(picture_structure != 3)
+ if(picture_structure != 3){
s->repeat_pict = -1;
+ s->parity = picture_structure-1;
+ }else
+ s->parity = !top_field_first;
}
break;
}