Go to the documentation of this file.
35 const uint8_t *
src1,
const uint8_t *
src2,
36 ptrdiff_t dstStride, ptrdiff_t src1Stride);
38 const uint8_t *
src1,
const uint8_t *
src2,
39 ptrdiff_t dstStride, ptrdiff_t src1Stride);
41 const uint8_t *
src1,
const uint8_t *
src2,
42 ptrdiff_t dstStride, ptrdiff_t src1Stride);
44 const uint8_t *
src1,
const uint8_t *
src2,
45 ptrdiff_t dstStride, ptrdiff_t src1Stride);
47 const uint8_t *
src1,
const uint8_t *
src2,
48 ptrdiff_t dstStride, ptrdiff_t src1Stride);
50 const uint8_t *
src1,
const uint8_t *
src2,
51 ptrdiff_t dstStride, ptrdiff_t src1Stride);
53 ptrdiff_t dstStride, ptrdiff_t srcStride,
int h);
55 ptrdiff_t dstStride, ptrdiff_t srcStride,
int h);
58 ptrdiff_t dstStride, ptrdiff_t srcStride,
61 ptrdiff_t dstStride, ptrdiff_t srcStride,
int h);
63 ptrdiff_t dstStride, ptrdiff_t srcStride,
int h);
66 ptrdiff_t dstStride, ptrdiff_t srcStride,
69 ptrdiff_t dstStride, ptrdiff_t srcStride);
71 ptrdiff_t dstStride, ptrdiff_t srcStride);
74 ptrdiff_t dstStride, ptrdiff_t srcStride);
76 ptrdiff_t dstStride, ptrdiff_t srcStride);
78 ptrdiff_t dstStride, ptrdiff_t srcStride);
81 ptrdiff_t dstStride, ptrdiff_t srcStride);
83 #define QPEL_OP(OPNAME, RND, MMX) \
84 static void OPNAME ## qpel8_mc10_ ## MMX(uint8_t *dst, \
89 uint8_t *const half = (uint8_t *) temp; \
90 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(half, src, 8, \
92 ff_ ## OPNAME ## pixels8x8_l2_ ## MMX(dst, src, half, \
96 static void OPNAME ## qpel8_mc20_ ## MMX(uint8_t *dst, \
100 ff_ ## OPNAME ## mpeg4_qpel8_h_lowpass_ ## MMX(dst, src, stride, \
104 static void OPNAME ## qpel8_mc30_ ## MMX(uint8_t *dst, \
105 const uint8_t *src, \
109 uint8_t *const half = (uint8_t *) temp; \
110 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(half, src, 8, \
112 ff_ ## OPNAME ## pixels8x8_l2_ ## MMX(dst, src + 1, half, \
116 static void OPNAME ## qpel8_mc01_ ## MMX(uint8_t *dst, \
117 const uint8_t *src, \
121 uint8_t *const half = (uint8_t *) temp; \
122 ff_put ## RND ## mpeg4_qpel8_v_lowpass_ ## MMX(half, src, \
124 ff_ ## OPNAME ## pixels8x8_l2_ ## MMX(dst, src, half, \
128 static void OPNAME ## qpel8_mc02_ ## MMX(uint8_t *dst, \
129 const uint8_t *src, \
132 ff_ ## OPNAME ## mpeg4_qpel8_v_lowpass_ ## MMX(dst, src, \
136 static void OPNAME ## qpel8_mc03_ ## MMX(uint8_t *dst, \
137 const uint8_t *src, \
141 uint8_t *const half = (uint8_t *) temp; \
142 ff_put ## RND ## mpeg4_qpel8_v_lowpass_ ## MMX(half, src, \
144 ff_ ## OPNAME ## pixels8x8_l2_ ## MMX(dst, src + stride, half, \
148 static void OPNAME ## qpel8_mc11_ ## MMX(uint8_t *dst, \
149 const uint8_t *src, \
152 uint64_t half[8 + 9]; \
153 uint8_t *const halfH = (uint8_t *) half + 64; \
154 uint8_t *const halfHV = (uint8_t *) half; \
155 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(halfH, src, 8, \
157 ff_put ## RND ## pixels8x9_l2_ ## MMX(halfH, src, halfH, 8, \
159 ff_put ## RND ## mpeg4_qpel8_v_lowpass_ ## MMX(halfHV, halfH, 8, 8);\
160 ff_ ## OPNAME ## pixels8x8_l2_ ## MMX(dst, halfH, halfHV, \
164 static void OPNAME ## qpel8_mc31_ ## MMX(uint8_t *dst, \
165 const uint8_t *src, \
168 uint64_t half[8 + 9]; \
169 uint8_t *const halfH = (uint8_t *) half + 64; \
170 uint8_t *const halfHV = (uint8_t *) half; \
171 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(halfH, src, 8, \
173 ff_put ## RND ## pixels8x9_l2_ ## MMX(halfH, src + 1, halfH, 8, \
175 ff_put ## RND ## mpeg4_qpel8_v_lowpass_ ## MMX(halfHV, halfH, 8, 8);\
176 ff_ ## OPNAME ## pixels8x8_l2_ ## MMX(dst, halfH, halfHV, \
180 static void OPNAME ## qpel8_mc13_ ## MMX(uint8_t *dst, \
181 const uint8_t *src, \
184 uint64_t half[8 + 9]; \
185 uint8_t *const halfH = (uint8_t *) half + 64; \
186 uint8_t *const halfHV = (uint8_t *) half; \
187 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(halfH, src, 8, \
189 ff_put ## RND ## pixels8x9_l2_ ## MMX(halfH, src, halfH, 8, \
191 ff_put ## RND ## mpeg4_qpel8_v_lowpass_ ## MMX(halfHV, halfH, 8, 8);\
192 ff_ ## OPNAME ## pixels8x8_l2_ ## MMX(dst, halfH + 8, halfHV, \
196 static void OPNAME ## qpel8_mc33_ ## MMX(uint8_t *dst, \
197 const uint8_t *src, \
200 uint64_t half[8 + 9]; \
201 uint8_t *const halfH = (uint8_t *) half + 64; \
202 uint8_t *const halfHV = (uint8_t *) half; \
203 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(halfH, src, 8, \
205 ff_put ## RND ## pixels8x9_l2_ ## MMX(halfH, src + 1, halfH, 8, \
207 ff_put ## RND ## mpeg4_qpel8_v_lowpass_ ## MMX(halfHV, halfH, 8, 8);\
208 ff_ ## OPNAME ## pixels8x8_l2_ ## MMX(dst, halfH + 8, halfHV, \
212 static void OPNAME ## qpel8_mc21_ ## MMX(uint8_t *dst, \
213 const uint8_t *src, \
216 uint64_t half[8 + 9]; \
217 uint8_t *const halfH = (uint8_t *) half + 64; \
218 uint8_t *const halfHV = (uint8_t *) half; \
219 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(halfH, src, 8, \
221 ff_put ## RND ## mpeg4_qpel8_v_lowpass_ ## MMX(halfHV, halfH, 8, 8);\
222 ff_ ## OPNAME ## pixels8x8_l2_ ## MMX(dst, halfH, halfHV, \
226 static void OPNAME ## qpel8_mc23_ ## MMX(uint8_t *dst, \
227 const uint8_t *src, \
230 uint64_t half[8 + 9]; \
231 uint8_t *const halfH = (uint8_t *) half + 64; \
232 uint8_t *const halfHV = (uint8_t *) half; \
233 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(halfH, src, 8, \
235 ff_put ## RND ## mpeg4_qpel8_v_lowpass_ ## MMX(halfHV, halfH, 8, 8);\
236 ff_ ## OPNAME ## pixels8x8_l2_ ## MMX(dst, halfH + 8, halfHV, \
240 static void OPNAME ## qpel8_mc12_ ## MMX(uint8_t *dst, \
241 const uint8_t *src, \
244 uint64_t half[8 + 9]; \
245 uint8_t *const halfH = (uint8_t *) half; \
246 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(halfH, src, 8, \
248 ff_put ## RND ## pixels8x9_l2_ ## MMX(halfH, src, halfH, \
250 ff_ ## OPNAME ## mpeg4_qpel8_v_lowpass_ ## MMX(dst, halfH, \
254 static void OPNAME ## qpel8_mc32_ ## MMX(uint8_t *dst, \
255 const uint8_t *src, \
258 uint64_t half[8 + 9]; \
259 uint8_t *const halfH = (uint8_t *) half; \
260 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(halfH, src, 8, \
262 ff_put ## RND ## pixels8x9_l2_ ## MMX(halfH, src + 1, halfH, 8, \
264 ff_ ## OPNAME ## mpeg4_qpel8_v_lowpass_ ## MMX(dst, halfH, \
268 static void OPNAME ## qpel8_mc22_ ## MMX(uint8_t *dst, \
269 const uint8_t *src, \
273 uint8_t *const halfH = (uint8_t *) half; \
274 ff_put ## RND ## mpeg4_qpel8_h_lowpass_ ## MMX(halfH, src, 8, \
276 ff_ ## OPNAME ## mpeg4_qpel8_v_lowpass_ ## MMX(dst, halfH, \
280 static void OPNAME ## qpel16_mc10_ ## MMX(uint8_t *dst, \
281 const uint8_t *src, \
285 uint8_t *const half = (uint8_t *) temp; \
286 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(half, src, 16, \
288 ff_ ## OPNAME ## pixels16x16_l2_ ## MMX(dst, src, half, \
292 static void OPNAME ## qpel16_mc20_ ## MMX(uint8_t *dst, \
293 const uint8_t *src, \
296 ff_ ## OPNAME ## mpeg4_qpel16_h_lowpass_ ## MMX(dst, src, \
297 stride, stride, 16);\
300 static void OPNAME ## qpel16_mc30_ ## MMX(uint8_t *dst, \
301 const uint8_t *src, \
305 uint8_t *const half = (uint8_t*) temp; \
306 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(half, src, 16, \
308 ff_ ## OPNAME ## pixels16x16_l2_ ## MMX(dst, src + 1, half, \
312 static void OPNAME ## qpel16_mc01_ ## MMX(uint8_t *dst, \
313 const uint8_t *src, \
317 uint8_t *const half = (uint8_t *) temp; \
318 ff_put ## RND ## mpeg4_qpel16_v_lowpass_ ## MMX(half, src, 16, \
320 ff_ ## OPNAME ## pixels16x16_l2_ ## MMX(dst, src, half, \
324 static void OPNAME ## qpel16_mc02_ ## MMX(uint8_t *dst, \
325 const uint8_t *src, \
328 ff_ ## OPNAME ## mpeg4_qpel16_v_lowpass_ ## MMX(dst, src, \
332 static void OPNAME ## qpel16_mc03_ ## MMX(uint8_t *dst, \
333 const uint8_t *src, \
337 uint8_t *const half = (uint8_t *) temp; \
338 ff_put ## RND ## mpeg4_qpel16_v_lowpass_ ## MMX(half, src, 16, \
340 ff_ ## OPNAME ## pixels16x16_l2_ ## MMX(dst, src+stride, half, \
344 static void OPNAME ## qpel16_mc11_ ## MMX(uint8_t *dst, \
345 const uint8_t *src, \
348 uint64_t half[16 * 2 + 17 * 2]; \
349 uint8_t *const halfH = (uint8_t *) half + 256; \
350 uint8_t *const halfHV = (uint8_t *) half; \
351 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(halfH, src, 16, \
353 ff_put ## RND ## pixels16x17_l2_ ## MMX(halfH, src, halfH, 16, \
355 ff_put ## RND ## mpeg4_qpel16_v_lowpass_ ## MMX(halfHV, halfH, \
357 ff_ ## OPNAME ## pixels16x16_l2_ ## MMX(dst, halfH, halfHV, \
361 static void OPNAME ## qpel16_mc31_ ## MMX(uint8_t *dst, \
362 const uint8_t *src, \
365 uint64_t half[16 * 2 + 17 * 2]; \
366 uint8_t *const halfH = (uint8_t *) half + 256; \
367 uint8_t *const halfHV = (uint8_t *) half; \
368 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(halfH, src, 16, \
370 ff_put ## RND ## pixels16x17_l2_ ## MMX(halfH, src + 1, halfH, 16, \
372 ff_put ## RND ## mpeg4_qpel16_v_lowpass_ ## MMX(halfHV, halfH, \
374 ff_ ## OPNAME ## pixels16x16_l2_ ## MMX(dst, halfH, halfHV, \
378 static void OPNAME ## qpel16_mc13_ ## MMX(uint8_t *dst, \
379 const uint8_t *src, \
382 uint64_t half[16 * 2 + 17 * 2]; \
383 uint8_t *const halfH = (uint8_t *) half + 256; \
384 uint8_t *const halfHV = (uint8_t *) half; \
385 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(halfH, src, 16, \
387 ff_put ## RND ## pixels16x17_l2_ ## MMX(halfH, src, halfH, 16, \
389 ff_put ## RND ## mpeg4_qpel16_v_lowpass_ ## MMX(halfHV, halfH, \
391 ff_ ## OPNAME ## pixels16x16_l2_ ## MMX(dst, halfH + 16, halfHV, \
395 static void OPNAME ## qpel16_mc33_ ## MMX(uint8_t *dst, \
396 const uint8_t *src, \
399 uint64_t half[16 * 2 + 17 * 2]; \
400 uint8_t *const halfH = (uint8_t *) half + 256; \
401 uint8_t *const halfHV = (uint8_t *) half; \
402 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(halfH, src, 16, \
404 ff_put ## RND ## pixels16x17_l2_ ## MMX(halfH, src + 1, halfH, 16, \
406 ff_put ## RND ## mpeg4_qpel16_v_lowpass_ ## MMX(halfHV, halfH, \
408 ff_ ## OPNAME ## pixels16x16_l2_ ## MMX(dst, halfH + 16, halfHV, \
412 static void OPNAME ## qpel16_mc21_ ## MMX(uint8_t *dst, \
413 const uint8_t *src, \
416 uint64_t half[16 * 2 + 17 * 2]; \
417 uint8_t *const halfH = (uint8_t *) half + 256; \
418 uint8_t *const halfHV = (uint8_t *) half; \
419 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(halfH, src, 16, \
421 ff_put ## RND ## mpeg4_qpel16_v_lowpass_ ## MMX(halfHV, halfH, \
423 ff_ ## OPNAME ## pixels16x16_l2_ ## MMX(dst, halfH, halfHV, \
427 static void OPNAME ## qpel16_mc23_ ## MMX(uint8_t *dst, \
428 const uint8_t *src, \
431 uint64_t half[16 * 2 + 17 * 2]; \
432 uint8_t *const halfH = (uint8_t *) half + 256; \
433 uint8_t *const halfHV = (uint8_t *) half; \
434 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(halfH, src, 16, \
436 ff_put ## RND ## mpeg4_qpel16_v_lowpass_ ## MMX(halfHV, halfH, \
438 ff_ ## OPNAME ## pixels16x16_l2_ ## MMX(dst, halfH + 16, halfHV, \
442 static void OPNAME ## qpel16_mc12_ ## MMX(uint8_t *dst, \
443 const uint8_t *src, \
446 uint64_t half[17 * 2]; \
447 uint8_t *const halfH = (uint8_t *) half; \
448 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(halfH, src, 16, \
450 ff_put ## RND ## pixels16x17_l2_ ## MMX(halfH, src, halfH, 16, \
452 ff_ ## OPNAME ## mpeg4_qpel16_v_lowpass_ ## MMX(dst, halfH, \
456 static void OPNAME ## qpel16_mc32_ ## MMX(uint8_t *dst, \
457 const uint8_t *src, \
460 uint64_t half[17 * 2]; \
461 uint8_t *const halfH = (uint8_t *) half; \
462 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(halfH, src, 16, \
464 ff_put ## RND ## pixels16x17_l2_ ## MMX(halfH, src + 1, halfH, 16, \
466 ff_ ## OPNAME ## mpeg4_qpel16_v_lowpass_ ## MMX(dst, halfH, \
470 static void OPNAME ## qpel16_mc22_ ## MMX(uint8_t *dst, \
471 const uint8_t *src, \
474 uint64_t half[17 * 2]; \
475 uint8_t *const halfH = (uint8_t *) half; \
476 ff_put ## RND ## mpeg4_qpel16_h_lowpass_ ## MMX(halfH, src, 16, \
478 ff_ ## OPNAME ## mpeg4_qpel16_v_lowpass_ ## MMX(dst, halfH, \
484 QPEL_OP(put_no_rnd_, _no_rnd_, mmxext)
486 #define SET_QPEL_FUNCS(PFX, IDX, SIZE, CPU, PREFIX) \
488 c->PFX ## _pixels_tab[IDX][ 1] = PREFIX ## PFX ## SIZE ## _mc10_ ## CPU; \
489 c->PFX ## _pixels_tab[IDX][ 2] = PREFIX ## PFX ## SIZE ## _mc20_ ## CPU; \
490 c->PFX ## _pixels_tab[IDX][ 3] = PREFIX ## PFX ## SIZE ## _mc30_ ## CPU; \
491 c->PFX ## _pixels_tab[IDX][ 4] = PREFIX ## PFX ## SIZE ## _mc01_ ## CPU; \
492 c->PFX ## _pixels_tab[IDX][ 5] = PREFIX ## PFX ## SIZE ## _mc11_ ## CPU; \
493 c->PFX ## _pixels_tab[IDX][ 6] = PREFIX ## PFX ## SIZE ## _mc21_ ## CPU; \
494 c->PFX ## _pixels_tab[IDX][ 7] = PREFIX ## PFX ## SIZE ## _mc31_ ## CPU; \
495 c->PFX ## _pixels_tab[IDX][ 8] = PREFIX ## PFX ## SIZE ## _mc02_ ## CPU; \
496 c->PFX ## _pixels_tab[IDX][ 9] = PREFIX ## PFX ## SIZE ## _mc12_ ## CPU; \
497 c->PFX ## _pixels_tab[IDX][10] = PREFIX ## PFX ## SIZE ## _mc22_ ## CPU; \
498 c->PFX ## _pixels_tab[IDX][11] = PREFIX ## PFX ## SIZE ## _mc32_ ## CPU; \
499 c->PFX ## _pixels_tab[IDX][12] = PREFIX ## PFX ## SIZE ## _mc03_ ## CPU; \
500 c->PFX ## _pixels_tab[IDX][13] = PREFIX ## PFX ## SIZE ## _mc13_ ## CPU; \
501 c->PFX ## _pixels_tab[IDX][14] = PREFIX ## PFX ## SIZE ## _mc23_ ## CPU; \
502 c->PFX ## _pixels_tab[IDX][15] = PREFIX ## PFX ## SIZE ## _mc33_ ## CPU; \
510 #if HAVE_MMXEXT_EXTERNAL
521 #if HAVE_SSE2_EXTERNAL
523 c->put_no_rnd_qpel_pixels_tab[0][0] =
525 c->put_no_rnd_qpel_pixels_tab[1][0] =
void ff_avg_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)
void ff_put_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride, int h)
void ff_avg_pixels16x16_sse2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size)
void ff_avg_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride, int h)
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
static atomic_int cpu_flags
void ff_put_no_rnd_pixels8x9_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t src1Stride)
void ff_put_no_rnd_pixels8x8_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t src1Stride)
void ff_put_pixels16x17_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t src1Stride)
#define QPEL_OP(OPNAME, RND, MMX)
void ff_avg_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride, int h)
void ff_put_no_rnd_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)
void ff_avg_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)
void ff_put_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)
void ff_put_pixels16x16_sse2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size)
#define SET_QPEL_FUNCS(PFX, IDX, SIZE, CPU, PREFIX)
void ff_put_pixels8x8_sse2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size)
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
void ff_put_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride, int h)
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
av_cold void ff_qpeldsp_init_x86(QpelDSPContext *c)
void ff_put_no_rnd_mpeg4_qpel16_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride, int h)
void ff_put_mpeg4_qpel8_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)
#define EXTERNAL_SSE2(flags)
void ff_put_no_rnd_mpeg4_qpel8_h_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride, int h)
void ff_put_no_rnd_pixels16x16_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t src1Stride)
void ff_avg_pixels8x8_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size)
void ff_put_pixels8x9_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t src1Stride)
void ff_put_no_rnd_pixels16x17_l2_mmxext(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ptrdiff_t dstStride, ptrdiff_t src1Stride)
#define X86_MMXEXT(flags)
void ff_put_no_rnd_mpeg4_qpel16_v_lowpass_mmxext(uint8_t *dst, const uint8_t *src, ptrdiff_t dstStride, ptrdiff_t srcStride)