mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Lossless jpeg expects and uses BGRA not RGB32 (this probably caused a problem on
big endian) Originally committed as revision 20789 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
e0b176adff
commit
49b19191bc
@ -301,7 +301,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
|
|||||||
switch(pix_fmt_id){
|
switch(pix_fmt_id){
|
||||||
case 0x11111100:
|
case 0x11111100:
|
||||||
if(s->rgb){
|
if(s->rgb){
|
||||||
s->avctx->pix_fmt = PIX_FMT_RGB32;
|
s->avctx->pix_fmt = PIX_FMT_BGRA;
|
||||||
}else
|
}else
|
||||||
s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV444P : PIX_FMT_YUVJ444P;
|
s->avctx->pix_fmt = s->cs_itu601 ? PIX_FMT_YUV444P : PIX_FMT_YUVJ444P;
|
||||||
assert(s->nb_components==3);
|
assert(s->nb_components==3);
|
||||||
|
@ -211,7 +211,7 @@ void ff_mjpeg_encode_picture_header(MpegEncContext *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
put_bits(&s->pb, 16, 17);
|
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 */
|
put_bits(&s->pb, 8, 9); /* 9 bits/component RCT */
|
||||||
else
|
else
|
||||||
put_bits(&s->pb, 8, 8); /* 8 bits/component */
|
put_bits(&s->pb, 8, 8); /* 8 bits/component */
|
||||||
|
Loading…
Reference in New Issue
Block a user