Commit f381dc1d authored by Carl Eugen Hoyos's avatar Carl Eugen Hoyos

Support decoding of Lagarith frame type FRAME_SOLID_COLOR.

Fixes bug 459.
parent 9276467b
...@@ -556,6 +556,28 @@ static int lag_decode_frame(AVCodecContext *avctx, ...@@ -556,6 +556,28 @@ static int lag_decode_frame(AVCodecContext *avctx,
} }
} }
break; break;
case FRAME_SOLID_COLOR:
if (avctx->bits_per_coded_sample == 24) {
avctx->pix_fmt = AV_PIX_FMT_RGB24;
} else {
avctx->pix_fmt = AV_PIX_FMT_RGB32;
offset_gu |= 0xFFU << 24;
}
if ((ret = ff_thread_get_buffer(avctx, &frame,0)) < 0)
return ret;
dst = p->data[0];
for (j = 0; j < avctx->height; j++) {
for (i = 0; i < avctx->width; i++)
if (avctx->bits_per_coded_sample == 24) {
AV_WB24(dst + i * 3, offset_gu);
} else {
AV_WN32(dst + i * 4, offset_gu);
}
dst += p->linesize[0];
}
break;
case FRAME_ARITH_RGBA: case FRAME_ARITH_RGBA:
avctx->pix_fmt = AV_PIX_FMT_RGB32; avctx->pix_fmt = AV_PIX_FMT_RGB32;
planes = 4; planes = 4;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment