[FFmpeg-cvslog] avcodec/msrledec: implement vertical offset in 4-bit RLE
Daniel Verkamp
git at videolan.org
Tue Nov 29 12:03:13 EET 2016
ffmpeg | branch: master | Daniel Verkamp <daniel at drv.nu> | Tue Nov 29 10:54:56 2016 +0100| [e856ac23732822ac04fe5dd959cff94c7249c17e] | committer: Paul B Mahol
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 at drv.nu>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e856ac23732822ac04fe5dd959cff94c7249c17e
---
libavcodec/msrledec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/msrledec.c b/libavcodec/msrledec.c
index 805802a..f0cbde6 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;
More information about the ffmpeg-cvslog
mailing list