]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Change 4xm demuxer and video decoder to pass the video format version in
authorrtogni <rtogni@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Mon, 27 Aug 2007 21:58:39 +0000 (21:58 +0000)
committerrtogni <rtogni@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Mon, 27 Aug 2007 21:58:39 +0000 (21:58 +0000)
extradata instead of codec_tag.

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@10253 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/4xm.c
libavformat/4xm.c

index 7af22c7963aea1cfe4fc580cd4b41da3d9218867..83e1b92ec455ddbbd78181cb5f77a84142339c8f 100644 (file)
@@ -789,7 +789,12 @@ static void common_init(AVCodecContext *avctx){
 static int decode_init(AVCodecContext *avctx){
     FourXContext * const f = avctx->priv_data;
 
-    f->version= avctx->codec_tag == 0x40000;
+    if(avctx->extradata_size != 4 || !avctx->extradata) {
+        av_log(avctx, AV_LOG_ERROR, "extradata wrong or missing\n");
+        return 1;
+    }
+
+    f->version= AV_RL32(avctx->extradata) == 0x40000;
     common_init(avctx);
     init_vlcs(f);
 
index 94bd025c085095e5b6991b74e4222e799bdcccfb..5f982e3c88a4fb27b72f8ee2a58846931005ba94 100644 (file)
@@ -149,7 +149,9 @@ static int fourxm_read_header(AVFormatContext *s,
 
             st->codec->codec_type = CODEC_TYPE_VIDEO;
             st->codec->codec_id = CODEC_ID_4XM;
-            st->codec->codec_tag = AV_RL32(&header[i + 16]);
+            st->codec->extradata_size = 4;
+            st->codec->extradata = av_malloc(4);
+            AV_WL32(st->codec->extradata, AV_RL32(&header[i + 16]));
             st->codec->width = fourxm->width;
             st->codec->height = fourxm->height;