summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Verkamp <daniel@drv.nu>2016-11-29 10:54:56 +0100
committerPaul B Mahol <onemda@gmail.com>2016-11-29 10:57:49 +0100
commite856ac23732822ac04fe5dd959cff94c7249c17e (patch)
tree83f8fba3df663828880caaea18fd167a6a4d5936
parent1e7f9b0ec602e98055875139956aecc4c7daa89e (diff)
avcodec/msrledec: implement vertical offset in 4-bit RLE
The delta escape (2) is supposed to work the same in 4-bit RLE as in 8-bit RLE. This is documented in the MSDN Bitmap Compression page: https://msdn.microsoft.com/en-us/library/windows/desktop/dd183383(v=vs.85).aspx The unchecked modification of line is safe, since the loop condition (line >= 0) will check it before any pixel data is written. Fixes ticket #5153 (output now matches ImageMagick for the provided sample). Signed-off-by: Daniel Verkamp <daniel@drv.nu>
-rw-r--r--libavcodec/msrledec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/msrledec.c b/libavcodec/msrledec.c
index 805802ae18..f0cbde67ff 100644
--- a/libavcodec/msrledec.c
+++ b/libavcodec/msrledec.c
@@ -63,7 +63,7 @@ static int msrle_decode_pal4(AVCodecContext *avctx, AVFrame *pic,
stream_byte = bytestream2_get_byte(gb);
pixel_ptr += stream_byte;
stream_byte = bytestream2_get_byte(gb);
- avpriv_request_sample(avctx, "Unused stream byte %X", stream_byte);
+ line -= stream_byte;
} else {
// copy pixels from encoded stream
odd_pixel = stream_byte & 1;