[FFmpeg-cvslog] lavf: Do not list mov-only codecs in riff.c.
Carl Eugen Hoyos
git at videolan.org
Fri Mar 13 09:18:44 CET 2015
ffmpeg | branch: release/2.6 | Carl Eugen Hoyos <cehoyos at ag.or.at> | Fri Mar 13 08:49:03 2015 +0100| [1a89aab3c01eaff4b317211443d175e7457cd073] | committer: Carl Eugen Hoyos
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 a regression similar to the one described in ticket #4307.
(cherry picked from commit 2e0b5f5c90a4bc1440703ba5e8bf7139ff42f367)
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1a89aab3c01eaff4b317211443d175e7457cd073
---
libavformat/avidec.c | 7 +++++++
libavformat/riff.c | 3 ---
2 files changed, 7 insertions(+), 3 deletions(-)
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");
+ }
/* 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 }
};
More information about the ffmpeg-cvslog
mailing list