summaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-12-07 12:28:37 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-12-08 18:24:40 +0100
commited9be7dd470cd32fdb5baa886b048266f4cba28f (patch)
tree031e648c4d29178894d75fea9eb4cdf5ad667893 /libavcodec
parent41a52740d47ac0b02e99ae90ff9212cce71753e7 (diff)
downloadffmpeg-streaming-ed9be7dd470cd32fdb5baa886b048266f4cba28f.zip
ffmpeg-streaming-ed9be7dd470cd32fdb5baa886b048266f4cba28f.tar.gz
avcodec/x86/pngdsp: fix off by 1 error
This fixes artifacts in the last pixel of rows with some widths and pixel formats Found-by: Dominique Leroux <Dominique.Leroux@autodesk.com> Tested-by: Dominique Leroux <Dominique.Leroux@autodesk.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/pngdec.c2
-rw-r--r--libavcodec/x86/pngdsp.asm2
2 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index 60acd3f..bc32eab 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -274,7 +274,7 @@ static void png_filter_row(PNGDSPContext *dsp, uint8_t *dst, int filter_type,
* the last pixel with bpp=3 */
int w = bpp == 4 ? size : size - 3;
if (w > i) {
- dsp->add_paeth_prediction(dst + i, src + i, last + i, w - i, bpp);
+ dsp->add_paeth_prediction(dst + i, src + i, last + i, size - i, bpp);
i = w;
}
}
diff --git a/libavcodec/x86/pngdsp.asm b/libavcodec/x86/pngdsp.asm
index 678a032..7bd1ab5 100644
--- a/libavcodec/x86/pngdsp.asm
+++ b/libavcodec/x86/pngdsp.asm
@@ -157,7 +157,7 @@ cglobal add_png_paeth_prediction, 5, 7, %1, dst, src, top, w, bpp, end, cntr
movh [dstq], m3
add dstq, bppq
cmp dstq, endq
- jle .loop
+ jl .loop
mov dstq, [rsp]
dec cntrq
OpenPOWER on IntegriCloud