bytestream2_skip(&bgb, 4);
w = bytestream2_get_le16(&bgb);
h = bytestream2_get_le16(&bgb);
+ if (x + bpp * (int64_t)w * h > INT_MAX)
+ return AVERROR_INVALIDDATA;
x += bpp * w * h;
}
bytestream2_skip(&gb, 4);
w = bytestream2_get_le16(&gb);
h = bytestream2_get_le16(&gb);
+ if (x + bpp * (int64_t)w * h > INT_MAX)
+ return AVERROR_INVALIDDATA;
x += bpp * w * h;
}
int zret;
switch (avctx->bits_per_coded_sample) {
- case 16: avctx->pix_fmt = AV_PIX_FMT_RGB565; break;
+ case 16: avctx->pix_fmt = AV_PIX_FMT_RGB565LE; break;
case 24: avctx->pix_fmt = AV_PIX_FMT_BGR24; break;
case 32: avctx->pix_fmt = AV_PIX_FMT_BGRA; break;
default: av_log(avctx, AV_LOG_ERROR, "Unsupported bits_per_coded_sample: %d\n",