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>
pull/101/head
Michael Niedermayer 10 years ago
parent f622ff16cd
commit 6706a2986c
  1. 2
      libavfilter/vf_spp.c
  2. 2
      libavfilter/vf_spp.h
  3. 2
      libavfilter/x86/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])

@ -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]);

@ -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])

Loading…
Cancel
Save