[FFmpeg-cvslog] Do not read strd chunk in avi files as H264 extradata.

Carl Eugen Hoyos git at videolan.org
Mon May 13 16:04:13 CEST 2013


ffmpeg | branch: release/0.10 | Carl Eugen Hoyos <cehoyos at ag.or.at> | Mon May 13 12:39:44 2013 +0200| [d95bb2ac2d54ce3e0cd8fe86708b0059ec948c5a] | committer: Carl Eugen Hoyos

Do not read strd chunk in avi files as H264 extradata.

Fixes ticket #2561.
(cherry picked from commit 231b3317184790b6be4b4619d96fd328f13aeabb)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d95bb2ac2d54ce3e0cd8fe86708b0059ec948c5a
---

 libavformat/avidec.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 41e2e3c..c0b6308 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -694,7 +694,9 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap)
             }
             break;
         case MKTAG('s', 't', 'r', 'd'):
-            if (stream_index >= (unsigned)s->nb_streams || s->streams[stream_index]->codec->extradata_size) {
+            if (stream_index >= (unsigned)s->nb_streams
+                || s->streams[stream_index]->codec->extradata_size
+                || s->streams[stream_index]->codec->codec_tag == MKTAG('H','2','6','4')) {
                 avio_skip(pb, size);
             } else {
                 uint64_t cur_pos = avio_tell(pb);



More information about the ffmpeg-cvslog mailing list