30 uint16_t *
dc,
int thresh,
31 const uint16_t *dithers);
34 uint16_t *
dc,
int thresh,
35 const uint16_t *dithers);
38 uint16_t *buf1, uint16_t *
dc,
41 uint16_t *buf1, uint16_t *
dc,
46 int width,
int thresh,
const uint16_t *dithers,
50 if (width & alignment) {
51 x = width & ~alignment;
53 width - x, thresh, dithers);
61 static void gradfun_filter_line_mmxext(
uint8_t *dst,
uint8_t *src, uint16_t *dc,
62 int width,
int thresh,
63 const uint16_t *dithers)
65 gradfun_filter_line(dst, src, dc, width, thresh, dithers, 3);
68 static void gradfun_filter_line_ssse3(
uint8_t *dst,
uint8_t *src, uint16_t *dc,
69 int width,
int thresh,
70 const uint16_t *dithers)
72 gradfun_filter_line(dst, src, dc, width, thresh, dithers, 7);
75 static void gradfun_blur_line_sse2(uint16_t *dc, uint16_t *buf, uint16_t *buf1,
76 uint8_t *src,
int src_linesize,
int width)
78 intptr_t x = -2 *
width;
79 if (((intptr_t) src | src_linesize) & 15)
81 dc + width, src + width * 2,
82 src + width * 2 + src_linesize);
85 dc + width, src + width * 2,
86 src + width * 2 + src_linesize);