27 #include "libavutil/cpu.h"
34 #define LOOP_FILTER(EXT) \
35 void ff_vc1_v_loop_filter4_ ## EXT(uint8_t *src, int stride, int pq); \
36 void ff_vc1_h_loop_filter4_ ## EXT(uint8_t *src, int stride, int pq); \
37 void ff_vc1_v_loop_filter8_ ## EXT(uint8_t *src, int stride, int pq); \
38 void ff_vc1_h_loop_filter8_ ## EXT(uint8_t *src, int stride, int pq); \
40 static void vc1_v_loop_filter16_ ## EXT(uint8_t *src, int stride, int pq) \
42 ff_vc1_v_loop_filter8_ ## EXT(src, stride, pq); \
43 ff_vc1_v_loop_filter8_ ## EXT(src+8, stride, pq); \
46 static void vc1_h_loop_filter16_ ## EXT(uint8_t *src, int stride, int pq) \
48 ff_vc1_h_loop_filter8_ ## EXT(src, stride, pq); \
49 ff_vc1_h_loop_filter8_ ## EXT(src+8*stride, stride, pq); \
59 static
void vc1_h_loop_filter16_sse4(
uint8_t *src,
int stride,
int pq)
61 ff_vc1_h_loop_filter8_sse4(src, stride, pq);
62 ff_vc1_h_loop_filter8_sse4(src+8*stride, stride, pq);
73 int stride,
int h,
int x,
int y);
75 int stride,
int h,
int x,
int y);
77 int stride,
int h,
int x,
int y);
79 int stride,
int h,
int x,
int y);
81 int stride,
int h,
int x,
int y);
94 #define ASSIGN_LF(EXT) \
95 dsp->vc1_v_loop_filter4 = ff_vc1_v_loop_filter4_ ## EXT; \
96 dsp->vc1_h_loop_filter4 = ff_vc1_h_loop_filter4_ ## EXT; \
97 dsp->vc1_v_loop_filter8 = ff_vc1_v_loop_filter8_ ## EXT; \
98 dsp->vc1_h_loop_filter8 = ff_vc1_h_loop_filter8_ ## EXT; \
99 dsp->vc1_v_loop_filter16 = vc1_v_loop_filter16_ ## EXT; \
100 dsp->vc1_h_loop_filter16 = vc1_h_loop_filter16_ ## EXT
void ff_avg_vc1_chroma_mc8_nornd_mmxext(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
void(* vc1_v_loop_filter8)(uint8_t *src, int stride, int pq)
void ff_vc1dsp_init_mmx(VC1DSPContext *dsp)
void ff_avg_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
void(* vc1_h_loop_filter8)(uint8_t *src, int stride, int pq)
#define EXTERNAL_SSSE3(flags)
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
void ff_avg_vc1_chroma_mc8_nornd_3dnow(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
void(* vc1_v_loop_filter16)(uint8_t *src, int stride, int pq)
void ff_vc1dsp_init_x86(VC1DSPContext *dsp)
#define EXTERNAL_MMX(flags)
#define EXTERNAL_AMD3DNOW(flags)
void ff_put_vc1_chroma_mc8_nornd_ssse3(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
vc1op_pixels_func avg_vc1_mspel_pixels_tab[16]
#define EXTERNAL_SSE4(flags)
#define INLINE_MMX(flags)
h264_chroma_mc_func avg_no_rnd_vc1_chroma_pixels_tab[3]
void ff_vc1dsp_init_mmxext(VC1DSPContext *dsp)
void ff_avg_pixels8_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
h264_chroma_mc_func put_no_rnd_vc1_chroma_pixels_tab[3]
#define EXTERNAL_SSE2(flags)
#define EXTERNAL_MMXEXT(flags)
void ff_put_vc1_chroma_mc8_nornd_mmx(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
#define INLINE_MMXEXT(flags)
void(* vc1_h_loop_filter16)(uint8_t *src, int stride, int pq)