lavf: Do not list mov-only codecs in riff.c.

Instead check for all mov code-points when demuxing avi
and print a warning if a video codec is found like this.
Fixes ticket #4307.
(cherry picked from commit 2e0b5f5c90)

Conflicts:
	libavformat/riff.c
This commit is contained in:
Carl Eugen Hoyos 2015-03-13 08:49:03 +01:00
parent 79c9d9b134
commit 1456ed2dd5
2 changed files with 7 additions and 1 deletions

View File

@ -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
@ -771,6 +772,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");
}
/* This is needed to get the pict type which is necessary
* for generating correct pts. */
st->need_parsing = AVSTREAM_PARSE_HEADERS;

View File

@ -362,7 +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_NONE, 0 }
};