|
|
@@ -58,6 +58,8 @@ static int parse_palette(AVCodecContext *avctx, GetByteContext *gbc, |
|
|
|
bytestream2_skip(gbc, 6); |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (avctx->pix_fmt != AV_PIX_FMT_PAL8) |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
r = bytestream2_get_byte(gbc); |
|
|
|
bytestream2_skip(gbc, 1); |
|
|
|
g = bytestream2_get_byte(gbc); |
|
|
@@ -378,7 +380,9 @@ static int decode_frame(AVCodecContext *avctx, |
|
|
|
if ((ret = ff_get_buffer(avctx, p, 0)) < 0) |
|
|
|
return ret; |
|
|
|
|
|
|
|
parse_palette(avctx, &gbc, (uint32_t *)p->data[1], colors); |
|
|
|
ret = parse_palette(avctx, &gbc, (uint32_t *)p->data[1], colors); |
|
|
|
if (ret < 0) |
|
|
|
return ret; |
|
|
|
p->palette_has_changed = 1; |
|
|
|
|
|
|
|
/* jump to image data */ |
|
|
|