Commit 068412f2 authored by Paul B Mahol's avatar Paul B Mahol

avcodec/rscc: fix decoding of some iscc files

parent a5278b67
......@@ -85,8 +85,18 @@ static av_cold int rscc_init(AVCodecContext *avctx)
/* Get pixel format and the size of the pixel */
if (avctx->codec_tag == MKTAG('I', 'S', 'C', 'C')) {
avctx->pix_fmt = AV_PIX_FMT_BGRA;
ctx->component_size = 4;
if (avctx->extradata && avctx->extradata_size == 4) {
if ((avctx->extradata[0] >> 1) & 1) {
avctx->pix_fmt = AV_PIX_FMT_BGRA;
ctx->component_size = 4;
} else {
avctx->pix_fmt = AV_PIX_FMT_BGR24;
ctx->component_size = 3;
}
} else {
avctx->pix_fmt = AV_PIX_FMT_BGRA;
ctx->component_size = 4;
}
} else if (avctx->codec_tag == MKTAG('R', 'S', 'C', 'C')) {
ctx->component_size = avctx->bits_per_coded_sample / 8;
switch (avctx->bits_per_coded_sample) {
......
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