On Fri, 13 Mar 2015 02:46:32 +0100 Carl Eugen Hoyos <ceho...@ag.or.at> wrote:
> diff --git a/libavformat/avidec.c b/libavformat/avidec.c > index 5c9443a..00f0037 100644 > --- a/libavformat/avidec.c > +++ b/libavformat/avidec.c > @@ -36,6 +36,7 @@ > #include "riff.h" > #include "libavcodec/bytestream.h" > #include "libavcodec/exif.h" > +#include "libavformat/isom.h" > > typedef struct AVIStream { > int64_t frame_offset; /* current frame (video) or byte (audio) counter > @@ -773,6 +774,12 @@ static int avi_read_header(AVFormatContext *s) > st->codec->codec_tag = tag1; > st->codec->codec_id = > ff_codec_get_id(ff_codec_bmp_tags, > tag1); > + if (!st->codec->codec_id) { > + st->codec->codec_id = > ff_codec_get_id(ff_codec_movvideo_tags, > + tag1); > + if (st->codec->codec_id) > + av_log(s, AV_LOG_WARNING, "mov tag found in > avi\n"); > + } Nice warning, but why do we accept this in the first place? This looks so very wrong. > /* This is needed to get the pict type which is necessary > * for generating correct pts. */ > st->need_parsing = AVSTREAM_PARSE_HEADERS; > diff --git a/libavformat/riff.c b/libavformat/riff.c > index 399523c..696b06b 100644 > --- a/libavformat/riff.c > +++ b/libavformat/riff.c > @@ -362,9 +362,6 @@ const AVCodecTag ff_codec_bmp_tags[] = { > { AV_CODEC_ID_G2M, MKTAG('G', '2', 'M', '4') }, > { AV_CODEC_ID_G2M, MKTAG('G', '2', 'M', '5') }, > { AV_CODEC_ID_FIC, MKTAG('F', 'I', 'C', 'V') }, > - { AV_CODEC_ID_PRORES, MKTAG('A', 'P', 'C', 'N') }, > - { AV_CODEC_ID_PRORES, MKTAG('A', 'P', 'C', 'H') }, > - { AV_CODEC_ID_QTRLE, MKTAG('r', 'l', 'e', ' ') }, > { AV_CODEC_ID_HQX, MKTAG('C', 'H', 'Q', 'X') }, > { AV_CODEC_ID_NONE, 0 } > }; _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel