|
|
|
@@ -467,8 +467,7 @@ static int decode_frame(AVCodecContext *avctx, |
|
|
|
} else if (s->bit_depth == 16 && |
|
|
|
s->color_type == PNG_COLOR_TYPE_RGB) { |
|
|
|
avctx->pix_fmt = PIX_FMT_RGB48BE; |
|
|
|
} else if (s->bit_depth == 1 && |
|
|
|
s->color_type == PNG_COLOR_TYPE_GRAY) { |
|
|
|
} else if (s->bit_depth == 1) { |
|
|
|
avctx->pix_fmt = PIX_FMT_MONOBLACK; |
|
|
|
} else if (s->color_type == PNG_COLOR_TYPE_PALETTE) { |
|
|
|
avctx->pix_fmt = PIX_FMT_PAL8; |
|
|
|
@@ -504,7 +503,7 @@ static int decode_frame(AVCodecContext *avctx, |
|
|
|
s->image_buf = p->data[0]; |
|
|
|
s->image_linesize = p->linesize[0]; |
|
|
|
/* copy the palette if needed */ |
|
|
|
if (s->color_type == PNG_COLOR_TYPE_PALETTE) |
|
|
|
if (avctx->pix_fmt == PIX_FMT_PAL8) |
|
|
|
memcpy(p->data[1], s->palette, 256 * sizeof(uint32_t)); |
|
|
|
/* empty row is used if differencing to the first row */ |
|
|
|
s->last_row = av_mallocz(s->row_size); |
|
|
|
|