From a079ed63d3c0d9a31bc4f4fd659a0b31c72ad4bc Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 10 May 2013 16:55:06 +0200 Subject: [PATCH] avidec: Enable full parsing for potencoder mpeg1/2 Signed-off-by: Michael Niedermayer --- libavformat/avidec.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 28f2d64527..2066c18f65 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -365,6 +365,7 @@ static int avi_read_header(AVFormatContext *s) int amv_file_format=0; uint64_t list_end = 0; int ret; + AVDictionaryEntry *dict_entry; avi->stream_index= -1; @@ -802,6 +803,16 @@ static int avi_read_header(AVFormatContext *s) avi_load_index(s); avi->index_loaded |= 1; avi->non_interleaved |= guess_ni_flag(s) | (s->flags & AVFMT_FLAG_SORT_DTS); + + dict_entry = av_dict_get(s->metadata, "ISFT", NULL, 0); + if (dict_entry && !strcmp(dict_entry->value, "PotEncoder")) + for (i=0; inb_streams; i++) { + AVStream *st = s->streams[i]; + if ( st->codec->codec_id == AV_CODEC_ID_MPEG1VIDEO + || st->codec->codec_id == AV_CODEC_ID_MPEG2VIDEO) + st->need_parsing = AVSTREAM_PARSE_FULL; + } + for(i=0; inb_streams; i++){ AVStream *st = s->streams[i]; if(st->nb_index_entries)