summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2004-01-10 19:54:12 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-01-10 19:54:12 +0000
commit909678c70767b5eafe9f5619c42f9c0e72404097 (patch)
treecf8c8b08b5301fd1828c502719d8673e80f2ab94
parent8f2ab83318444cfc532072c16cde4950bdf01641 (diff)
grayscale mjpeg decoding support based upon a patch by (Leon Bottou (leonb))
Originally committed as revision 2687 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/mjpeg.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/mjpeg.c b/libavcodec/mjpeg.c
index a8dbc2bbd4..eeb177399c 100644
--- a/libavcodec/mjpeg.c
+++ b/libavcodec/mjpeg.c
@@ -1052,8 +1052,10 @@ static int mjpeg_decode_sof(MJpegDecodeContext *s)
case 0x11:
if(s->rgb){
s->avctx->pix_fmt = PIX_FMT_RGBA32;
- }else
+ }else if(s->nb_components==3)
s->avctx->pix_fmt = PIX_FMT_YUV444P;
+ else
+ s->avctx->pix_fmt = PIX_FMT_GRAY8;
break;
case 0x21:
s->avctx->pix_fmt = PIX_FMT_YUV422P;
@@ -1372,7 +1374,7 @@ static int mjpeg_decode_sos(MJpegDecodeContext *s)
return -1;
}
/* XXX: only interleaved scan accepted */
- if (nb_components != 3)
+ if (nb_components != s->nb_components)
{
dprintf("decode_sos: components(%d) mismatch\n", nb_components);
return -1;