[FFmpeg-cvslog] nuv: do not use data not initialized by LZO decompression.
Reimar Döffinger
git at videolan.org
Sat Nov 5 23:54:35 CET 2011
ffmpeg | branch: master | Reimar Döffinger <Reimar.Doeffinger at gmx.de> | Sat Nov 5 23:51:05 2011 +0100| [266f6eefc603dd3c34be7de94eec5c9c293b80f1] | committer: Reimar Döffinger
nuv: do not use data not initialized by LZO decompression.
This fixes visible corruption in the incomplete last frame
of the FATE sample.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=266f6eefc603dd3c34be7de94eec5c9c293b80f1
---
libavcodec/nuv.c | 2 +-
tests/ref/fate/nuv | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c
index 64956f9..b10b8db 100644
--- a/libavcodec/nuv.c
+++ b/libavcodec/nuv.c
@@ -187,7 +187,7 @@ retry:
if (av_lzo1x_decode(c->decomp_buf, &outlen, buf, &inlen))
av_log(avctx, AV_LOG_ERROR, "error during lzo decompression\n");
buf = c->decomp_buf;
- buf_size = c->decomp_size - AV_LZO_OUTPUT_PADDING;
+ buf_size = c->decomp_size - AV_LZO_OUTPUT_PADDING - outlen;
}
if (c->codec_frameheader) {
int w, h, q, res;
diff --git a/tests/ref/fate/nuv b/tests/ref/fate/nuv
index b047378..69854f2 100644
--- a/tests/ref/fate/nuv
+++ b/tests/ref/fate/nuv
@@ -25,6 +25,6 @@
1, 29257, 4096, 0xd95a9277
0, 30030, 460800, 0x4b7f4df0
1, 31347, 4096, 0xae2bef2c
-0, 33033, 460800, 0xb30eb322
+0, 33033, 460800, 0xa57f20d0
1, 33437, 4096, 0xbf031e83
1, 35527, 4096, 0x4c83e2d1
More information about the ffmpeg-cvslog
mailing list