31 #if defined(COMPILE_TEMPLATE_MMX) || defined(COMPILE_TEMPLATE_MMXEXT)
34 # define EMMS_IF_MMX __asm__ volatile ("emms" ::: "memory");
36 # include <mmintrin.h>
37 # define EMMS_IF_MMX _mm_empty();
40 # define EMMS_IF_MMX emms_c();
46 #define YUV2RGB_LOOP(depth) \
47 h_size = (c->dstW + 7) & ~7; \
48 if (h_size * depth > FFABS(dstStride[0])) \
51 vshift = c->srcFormat != AV_PIX_FMT_YUV422P; \
53 for (y = 0; y < srcSliceH; y++) { \
54 uint8_t *image = dst[0] + (y + srcSliceY) * dstStride[0]; \
55 const uint8_t *py = src[0] + y * srcStride[0]; \
56 const uint8_t *pu = src[1] + (y >> vshift) * srcStride[1]; \
57 const uint8_t *pv = src[2] + (y >> vshift) * srcStride[2]; \
58 x86_reg index = -h_size / 2; \
61 const uint8_t *pv_index,
const uint64_t *pointer_c_dither,
64 const uint8_t *pv_index,
const uint64_t *pointer_c_dither,
67 #if !COMPILE_TEMPLATE_MMXEXT
69 const uint8_t *pv_index,
const uint64_t *pointer_c_dither,
72 const uint8_t *pv_index,
const uint64_t *pointer_c_dither,
75 const uint8_t *pv_index,
const uint64_t *pointer_c_dither,
78 const uint8_t *pv_index,
const uint64_t *pointer_c_dither,
81 const uint8_t *pv_index,
const uint64_t *pointer_c_dither,
84 const uint8_t *pv_index,
const uint64_t *pointer_c_dither,
90 uint8_t *dst[],
int dstStride[])
92 int y, h_size, vshift;
111 uint8_t *dst[],
int dstStride[])
113 int y, h_size, vshift;
132 uint8_t *dst[],
int dstStride[])
134 int y, h_size, vshift;
147 uint8_t *dst[],
int dstStride[])
149 int y, h_size, vshift;
162 uint8_t *dst[],
int dstStride[])
164 int y, h_size, vshift;
167 const uint8_t *pa =
src[3] + y * srcStride[3];
177 uint8_t *dst[],
int dstStride[])
179 int y, h_size, vshift;
183 const uint8_t *pa =
src[3] + y * srcStride[3];
194 uint8_t *dst[],
int dstStride[])
196 int y, h_size, vshift;
209 uint8_t *dst[],
int dstStride[])
211 int y, h_size, vshift;
const uint64_t ff_dither4[2]
const uint64_t ff_dither8[2]
void RENAME() ff_yuv_420_rgb32(x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
void RENAME() ff_yuva_420_bgr32(x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index, const uint8_t *pa_2index)
void RENAME() ff_yuva_420_rgb32(x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index, const uint8_t *pa_2index)
static int RENAME() yuva420_bgr32(SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
static int RENAME() yuv420_rgb15(SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
static int RENAME() yuv420_rgb24(SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
#define YUV2RGB_LOOP(depth)
static int RENAME() yuv420_bgr24(SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
static int RENAME() yuva420_rgb32(SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
void RENAME() ff_yuv_420_bgr24(x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
static int RENAME() yuv420_rgb32(SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
static int RENAME() yuv420_rgb16(SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])
void RENAME() ff_yuv_420_rgb24(x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
void RENAME() ff_yuv_420_rgb16(x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
void RENAME() ff_yuv_420_bgr32(x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
void RENAME() ff_yuv_420_rgb15(x86_reg index, uint8_t *image, const uint8_t *pu_index, const uint8_t *pv_index, const uint64_t *pointer_c_dither, const uint8_t *py_2index)
EMMS_IF_MMX return srcSliceH
static int RENAME() yuv420_bgr32(SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[])