diff options
author | Daniel Verkamp <daniel@drv.nu> | 2016-11-29 10:54:56 +0100 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2016-11-29 10:57:49 +0100 |
commit | e856ac23732822ac04fe5dd959cff94c7249c17e (patch) | |
tree | 83f8fba3df663828880caaea18fd167a6a4d5936 | |
parent | 1e7f9b0ec602e98055875139956aecc4c7daa89e (diff) | |
download | ffmpeg-e856ac23732822ac04fe5dd959cff94c7249c17e.tar.gz |
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.c | 2 |
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; |