diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-05-10 16:55:06 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-05-10 16:55:06 +0200 |
commit | a079ed63d3c0d9a31bc4f4fd659a0b31c72ad4bc (patch) | |
tree | 29dde079b915ec0dcc02a4e3bd893668556000bf /libavformat/avidec.c | |
parent | 63e8fc4d8f0873fd23ffb945d63297c038f10c4e (diff) | |
download | ffmpeg-a079ed63d3c0d9a31bc4f4fd659a0b31c72ad4bc.tar.gz |
avidec: Enable full parsing for potencoder mpeg1/2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/avidec.c')
-rw-r--r-- | libavformat/avidec.c | 11 |
1 files changed, 11 insertions, 0 deletions
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; i<s->nb_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; i<s->nb_streams; i++){ AVStream *st = s->streams[i]; if(st->nb_index_entries) |