59 #define mask16b mask15b
76 #define BY ((int)( 0.098*(1<<RGB2YUV_SHIFT)+0.5))
77 #define BV ((int)(-0.071*(1<<RGB2YUV_SHIFT)+0.5))
78 #define BU ((int)( 0.439*(1<<RGB2YUV_SHIFT)+0.5))
79 #define GY ((int)( 0.504*(1<<RGB2YUV_SHIFT)+0.5))
80 #define GV ((int)(-0.368*(1<<RGB2YUV_SHIFT)+0.5))
81 #define GU ((int)(-0.291*(1<<RGB2YUV_SHIFT)+0.5))
82 #define RY ((int)( 0.257*(1<<RGB2YUV_SHIFT)+0.5))
83 #define RV ((int)( 0.439*(1<<RGB2YUV_SHIFT)+0.5))
84 #define RU ((int)(-0.148*(1<<RGB2YUV_SHIFT)+0.5))
88 #define COMPILE_TEMPLATE_MMXEXT 0
89 #define COMPILE_TEMPLATE_AMD3DNOW 0
90 #define COMPILE_TEMPLATE_SSE2 0
91 #define COMPILE_TEMPLATE_AVX 0
95 #define RENAME(a) a ## _mmx
96 #include "rgb2rgb_template.c"
100 #undef COMPILE_TEMPLATE_MMXEXT
101 #define COMPILE_TEMPLATE_MMXEXT 1
102 #define RENAME(a) a ## _mmxext
103 #include "rgb2rgb_template.c"
107 #undef COMPILE_TEMPLATE_SSE2
108 #define COMPILE_TEMPLATE_SSE2 1
109 #define RENAME(a) a ## _sse2
110 #include "rgb2rgb_template.c"
114 #undef COMPILE_TEMPLATE_AVX
115 #define COMPILE_TEMPLATE_AVX 1
116 #define RENAME(a) a ## _avx
117 #include "rgb2rgb_template.c"
121 #undef COMPILE_TEMPLATE_MMXEXT
122 #undef COMPILE_TEMPLATE_SSE2
123 #undef COMPILE_TEMPLATE_AVX
124 #undef COMPILE_TEMPLATE_AMD3DNOW
125 #define COMPILE_TEMPLATE_MMXEXT 0
126 #define COMPILE_TEMPLATE_SSE2 0
127 #define COMPILE_TEMPLATE_AVX 0
128 #define COMPILE_TEMPLATE_AMD3DNOW 1
129 #define RENAME(a) a ## _3dnow
130 #include "rgb2rgb_template.c"
151 int lumStride,
int chromStride,
int srcStride);
154 int lumStride,
int chromStride,
int srcStride);
165 rgb2rgb_init_3dnow();
167 rgb2rgb_init_mmxext();
Macro definitions for various function/variable attributes.
static atomic_int cpu_flags
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
#define DECLARE_ASM_CONST(n, t, v)
Declare a static constant aligned variable appropriate for use in inline assembly code.
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
void(* shuffle_bytes_3210)(const uint8_t *src, uint8_t *dst, int src_size)
void(* shuffle_bytes_3012)(const uint8_t *src, uint8_t *dst, int src_size)
void(* shuffle_bytes_2103)(const uint8_t *src, uint8_t *dst, int src_size)
void(* shuffle_bytes_1230)(const uint8_t *src, uint8_t *dst, int src_size)
void(* uyvytoyuv422)(uint8_t *ydst, uint8_t *udst, uint8_t *vdst, const uint8_t *src, int width, int height, int lumStride, int chromStride, int srcStride)
void(* shuffle_bytes_0321)(const uint8_t *src, uint8_t *dst, int src_size)
#define EXTERNAL_AVX(flags)
#define INLINE_SSE2(flags)
#define INLINE_MMXEXT(flags)
#define EXTERNAL_MMXEXT(flags)
#define EXTERNAL_SSSE3(flags)
#define INLINE_MMX(flags)
#define INLINE_AVX(flags)
#define EXTERNAL_SSE2(flags)
#define INLINE_AMD3DNOW(flags)
void ff_shuffle_bytes_0321_ssse3(const uint8_t *src, uint8_t *dst, int src_size)
void ff_shuffle_bytes_3012_ssse3(const uint8_t *src, uint8_t *dst, int src_size)
void ff_shuffle_bytes_2103_mmxext(const uint8_t *src, uint8_t *dst, int src_size)
void ff_shuffle_bytes_1230_ssse3(const uint8_t *src, uint8_t *dst, int src_size)
av_cold void rgb2rgb_init_x86(void)
void ff_shuffle_bytes_2103_ssse3(const uint8_t *src, uint8_t *dst, int src_size)
void ff_shuffle_bytes_3210_ssse3(const uint8_t *src, uint8_t *dst, int src_size)