diff options
Diffstat (limited to 'src/codec')
-rwxr-xr-x | src/codec/img-codec-parser.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/codec/img-codec-parser.c b/src/codec/img-codec-parser.c index 2d8d348..8cc94d5 100755 --- a/src/codec/img-codec-parser.c +++ b/src/codec/img-codec-parser.c @@ -275,10 +275,9 @@ static int _ImgGetImageInfo(HFile hFile, unsigned long fileSize, char *fileExt, (EncodedDataBuffer[21] << 24); } if (pHeight) { - *pHeight = - EncodedDataBuffer[22] | (EncodedDataBuffer[23] << 8) - | (EncodedDataBuffer[24] << 16) | - (EncodedDataBuffer[25] << 24); + // add the reference function abs(). may have negative height values in bmp header. + *pHeight = abs(EncodedDataBuffer[22] | (EncodedDataBuffer[23] << 8) | + (EncodedDataBuffer[24] << 16) | (EncodedDataBuffer[25] << 24)); } thumb_dbg("IMG_CODEC_BMP"); |