10l, pix_fmt should be set by the motionpixels decoder, not by the demuxer.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Thu, 26 Nov 2009 21:15:06 +0000 (21:15 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Thu, 26 Nov 2009 21:15:06 +0000 (21:15 +0000)
This fixes playback when lavf and lavc are less tightly couples as in e.g. MPlayer.

Originally committed as revision 20626 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/motionpixels.c
libavformat/mvi.c

index 227b178..a0f0d1a 100644 (file)
@@ -112,6 +112,7 @@ static av_cold int mp_decode_init(AVCodecContext *avctx)
     mp->offset_bits_len = av_log2(avctx->width * avctx->height) + 1;
     mp->vpt = av_mallocz(avctx->height * sizeof(YuvPixel));
     mp->hpt = av_mallocz(avctx->height * avctx->width / 16 * sizeof(YuvPixel));
     mp->offset_bits_len = av_log2(avctx->width * avctx->height) + 1;
     mp->vpt = av_mallocz(avctx->height * sizeof(YuvPixel));
     mp->hpt = av_mallocz(avctx->height * avctx->width / 16 * sizeof(YuvPixel));
+    avctx->pix_fmt = PIX_FMT_RGB555;
     return 0;
 }
 
     return 0;
 }
 
index 2dc4667..89c47da 100644 (file)
@@ -86,7 +86,6 @@ static int read_header(AVFormatContext *s, AVFormatParameters *ap)
     av_set_pts_info(vst, 64, msecs_per_frame, 1000000);
     vst->codec->codec_type = CODEC_TYPE_VIDEO;
     vst->codec->codec_id   = CODEC_ID_MOTIONPIXELS;
     av_set_pts_info(vst, 64, msecs_per_frame, 1000000);
     vst->codec->codec_type = CODEC_TYPE_VIDEO;
     vst->codec->codec_id   = CODEC_ID_MOTIONPIXELS;
-    vst->codec->pix_fmt    = PIX_FMT_RGB555;
 
     mvi->get_int = (vst->codec->width * vst->codec->height < (1 << 16)) ? get_le16 : get_le24;
 
 
     mvi->get_int = (vst->codec->width * vst->codec->height < (1 << 16)) ? get_le16 : get_le24;