mirror of https://git.ffmpeg.org/ffmpeg.git
Support BMP files that do not properly align lines.
Quite a few programs missed that detail of the spec (including old versions of FFmpeg I believe) and when we would otherwise fail anyway it seems worth a try to use a simple byte-aligned stride instead. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This commit is contained in:
parent
d3d4d98764
commit
d96090e7b6
|
@ -215,9 +215,13 @@ static int bmp_decode_frame(AVCodecContext *avctx,
|
|||
n = ((avctx->width * depth + 31) / 8) & ~3;
|
||||
|
||||
if (n * avctx->height > dsize && comp != BMP_RLE4 && comp != BMP_RLE8) {
|
||||
av_log(avctx, AV_LOG_ERROR, "not enough data (%d < %d)\n",
|
||||
dsize, n * avctx->height);
|
||||
return AVERROR_INVALIDDATA;
|
||||
n = (avctx->width * depth + 7) / 8;
|
||||
if (n * avctx->height > dsize) {
|
||||
av_log(avctx, AV_LOG_ERROR, "not enough data (%d < %d)\n",
|
||||
dsize, n * avctx->height);
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
av_log(avctx, AV_LOG_ERROR, "data size too small, assuming missing line alignment\n");
|
||||
}
|
||||
|
||||
// RLE may skip decoding some picture areas, so blank picture before decoding
|
||||
|
|
Loading…
Reference in New Issue