From f8353d5fdab24ecfb0989c9751007592f83543da Mon Sep 17 00:00:00 2001 From: Wolfram Gloger Date: Fri, 16 Mar 2012 21:17:00 +0100 Subject: mpegvideo: don't pretend the first frame is always a key frame Signed-off-by: Wolfram Gloger Modify the parser initialization so that parsers can set pict_type themselves. Use this in the mpegvideo parser so that initial frames are not unconditionally I frames. I have had this in my tree for several years. Signed-off-by: Michael Niedermayer --- libavcodec/mpegvideo_parser.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libavcodec/mpegvideo_parser.c') diff --git a/libavcodec/mpegvideo_parser.c b/libavcodec/mpegvideo_parser.c index 776052d252..5658cdeb36 100644 --- a/libavcodec/mpegvideo_parser.c +++ b/libavcodec/mpegvideo_parser.c @@ -182,9 +182,16 @@ static int mpegvideo_split(AVCodecContext *avctx, return 0; } +static int mpegvideo_parse_init(AVCodecParserContext *s) +{ + s->pict_type = AV_PICTURE_TYPE_NONE; // first frame might be partial + return 0; +} + AVCodecParser ff_mpegvideo_parser = { .codec_ids = { CODEC_ID_MPEG1VIDEO, CODEC_ID_MPEG2VIDEO }, .priv_data_size = sizeof(struct MpvParseContext), + .parser_init = mpegvideo_parse_init, .parser_parse = mpegvideo_parse, .parser_close = ff_parse_close, .split = mpegvideo_split, -- cgit v1.2.3