# HG changeset patch # User michael # Date 1260468866 0 # Node ID 7127645ee79155cc1cb8a8751a2259e0f95f89ea # Parent 6cebfebeb18f8851cb7408c47609b31608dae744 Lossless jpeg expects and uses BGRA not RGB32 (this probably caused a problem on big endian) diff -r 6cebfebeb18f -r 7127645ee791 mjpegdec.c --- a/mjpegdec.c Thu Dec 10 18:07:35 2009 +0000 +++ b/mjpegdec.c Thu Dec 10 18:14:26 2009 +0000 @@ -301,7 +301,7 @@ switch(pix_fmt_id){ case 0x11111100: if(s->rgb){ - s->avctx->pix_fmt = PIX_FMT_RGB32; + s->avctx->pix_fmt = PIX_FMT_BGRA; }else s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV444P : PIX_FMT_YUVJ444P; assert(s->nb_components==3); diff -r 6cebfebeb18f -r 7127645ee791 mjpegenc.c --- a/mjpegenc.c Thu Dec 10 18:07:35 2009 +0000 +++ b/mjpegenc.c Thu Dec 10 18:14:26 2009 +0000 @@ -211,7 +211,7 @@ } put_bits(&s->pb, 16, 17); - if(lossless && s->avctx->pix_fmt == PIX_FMT_RGB32) + if(lossless && s->avctx->pix_fmt == PIX_FMT_BGRA) put_bits(&s->pb, 8, 9); /* 9 bits/component RCT */ else put_bits(&s->pb, 8, 8); /* 8 bits/component */