summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-12-21 01:45:55 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-12-21 01:48:19 +0100
commit6706a2986c48e3f20f1274b24345e6555d8f0f48 (patch)
tree48d7211dfbcb8bc6a107423d2703215909659474 /libavfilter
parentf622ff16cde3b4a66dfacb3db0d89528fbd16999 (diff)
avfilter/vf_spp: Fix overflow in 8bit store slice
Fixes regression with ffplay -f lavfi -i testsrc=640x480 -vf format=gray,boxblur=20:10,geq="'mod(lum(X,Y),16)*15'",boxblur=10,geq="'abs(mod(lum(X,Y),15)-7)*32'",spp=4:40 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/vf_spp.c2
-rw-r--r--libavfilter/vf_spp.h2
-rw-r--r--libavfilter/x86/vf_spp.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/libavfilter/vf_spp.c b/libavfilter/vf_spp.c
index 4c7158ed62..bdc76ae957 100644
--- a/libavfilter/vf_spp.c
+++ b/libavfilter/vf_spp.c
@@ -156,7 +156,7 @@ static void softthresh_c(int16_t dst[64], const int16_t src[64],
}
}
-static void store_slice_c(uint8_t *dst, const uint16_t *src,
+static void store_slice_c(uint8_t *dst, const int16_t *src,
int dst_linesize, int src_linesize,
int width, int height, int log2_scale,
const uint8_t dither[8][8])
diff --git a/libavfilter/vf_spp.h b/libavfilter/vf_spp.h
index 14e1ddb6eb..6b70a91770 100644
--- a/libavfilter/vf_spp.h
+++ b/libavfilter/vf_spp.h
@@ -45,7 +45,7 @@ typedef struct {
int use_bframe_qp;
int hsub, vsub;
- void (*store_slice)(uint8_t *dst, const uint16_t *src,
+ void (*store_slice)(uint8_t *dst, const int16_t *src,
int dst_stride, int src_stride,
int width, int height, int log2_scale,
const uint8_t dither[8][8]);
diff --git a/libavfilter/x86/vf_spp.c b/libavfilter/x86/vf_spp.c
index 016f526a6d..1cfb9e81f7 100644
--- a/libavfilter/x86/vf_spp.c
+++ b/libavfilter/x86/vf_spp.c
@@ -174,7 +174,7 @@ static void softthresh_mmx(int16_t dst[64], const int16_t src[64],
dst[0] = (src[0] + 4) >> 3;
}
-static void store_slice_mmx(uint8_t *dst, const uint16_t *src,
+static void store_slice_mmx(uint8_t *dst, const int16_t *src,
int dst_stride, int src_stride,
int width, int height, int log2_scale,
const uint8_t dither[8][8])