dds: disable palette flag for compressed images

Having both is not valid and can cause a NULL pointer dereference of
frame->data[1] later.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
This commit is contained in:
Andreas Cadhalpun 2015-11-13 21:48:27 +01:00 committed by Vittorio Giovara
parent 2fb6e1e754
commit 0a8bff788b
1 changed files with 6 additions and 0 deletions

View File

@ -141,6 +141,12 @@ static int parse_pixel_format(AVCodecContext *avctx)
normal_map = flags & DDPF_NORMALMAP; normal_map = flags & DDPF_NORMALMAP;
fourcc = bytestream2_get_le32(gbc); fourcc = bytestream2_get_le32(gbc);
if (ctx->compressed && ctx->paletted) {
av_log(avctx, AV_LOG_WARNING,
"Disabling invalid palette flag for compressed dds.\n");
ctx->paletted = 0;
}
bpp = bytestream2_get_le32(gbc); // rgbbitcount bpp = bytestream2_get_le32(gbc); // rgbbitcount
r = bytestream2_get_le32(gbc); // rbitmask r = bytestream2_get_le32(gbc); // rbitmask
g = bytestream2_get_le32(gbc); // gbitmask g = bytestream2_get_le32(gbc); // gbitmask