1 #ifndef VPX_DSP_RTCD_H_
2 #define VPX_DSP_RTCD_H_
7 #define RTCD_EXTERN extern
14 #include "vpx/vpx_integer.h"
15 #include "vpx_dsp/vpx_dsp_common.h"
22 void vpx_comp_avg_pred_c(uint8_t *comp_pred
, const uint8_t *pred
, int width
, int height
, const uint8_t *ref
, int ref_stride
);
23 #define vpx_comp_avg_pred vpx_comp_avg_pred_c
25 void vpx_convolve8_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
26 void vpx_convolve8_sse2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
27 void vpx_convolve8_ssse3(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
28 void vpx_convolve8_avx2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
29 RTCD_EXTERN
void (*vpx_convolve8
)(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
31 void vpx_convolve8_avg_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
32 void vpx_convolve8_avg_sse2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
33 void vpx_convolve8_avg_ssse3(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
34 RTCD_EXTERN
void (*vpx_convolve8_avg
)(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
36 void vpx_convolve8_avg_horiz_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
37 void vpx_convolve8_avg_horiz_sse2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
38 void vpx_convolve8_avg_horiz_ssse3(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
39 RTCD_EXTERN
void (*vpx_convolve8_avg_horiz
)(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
41 void vpx_convolve8_avg_vert_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
42 void vpx_convolve8_avg_vert_sse2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
43 void vpx_convolve8_avg_vert_ssse3(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
44 RTCD_EXTERN
void (*vpx_convolve8_avg_vert
)(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
46 void vpx_convolve8_horiz_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
47 void vpx_convolve8_horiz_sse2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
48 void vpx_convolve8_horiz_ssse3(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
49 void vpx_convolve8_horiz_avx2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
50 RTCD_EXTERN
void (*vpx_convolve8_horiz
)(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
52 void vpx_convolve8_vert_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
53 void vpx_convolve8_vert_sse2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
54 void vpx_convolve8_vert_ssse3(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
55 void vpx_convolve8_vert_avx2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
56 RTCD_EXTERN
void (*vpx_convolve8_vert
)(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
58 void vpx_convolve_avg_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
59 void vpx_convolve_avg_sse2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
60 #define vpx_convolve_avg vpx_convolve_avg_sse2
62 void vpx_convolve_copy_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
63 void vpx_convolve_copy_sse2(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
64 #define vpx_convolve_copy vpx_convolve_copy_sse2
66 void vpx_d117_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
67 #define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
69 void vpx_d117_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
70 #define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
72 void vpx_d117_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
73 #define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
75 void vpx_d117_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
76 #define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
78 void vpx_d135_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
79 #define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c
81 void vpx_d135_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
82 #define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c
84 void vpx_d135_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
85 #define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_c
87 void vpx_d135_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
88 #define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c
90 void vpx_d153_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
91 void vpx_d153_predictor_16x16_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
92 RTCD_EXTERN
void (*vpx_d153_predictor_16x16
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
94 void vpx_d153_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
95 void vpx_d153_predictor_32x32_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
96 RTCD_EXTERN
void (*vpx_d153_predictor_32x32
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
98 void vpx_d153_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
99 void vpx_d153_predictor_4x4_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
100 RTCD_EXTERN
void (*vpx_d153_predictor_4x4
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
102 void vpx_d153_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
103 void vpx_d153_predictor_8x8_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
104 RTCD_EXTERN
void (*vpx_d153_predictor_8x8
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
106 void vpx_d207_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
107 void vpx_d207_predictor_16x16_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
108 RTCD_EXTERN
void (*vpx_d207_predictor_16x16
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
110 void vpx_d207_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
111 void vpx_d207_predictor_32x32_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
112 RTCD_EXTERN
void (*vpx_d207_predictor_32x32
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
114 void vpx_d207_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
115 void vpx_d207_predictor_4x4_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
116 RTCD_EXTERN
void (*vpx_d207_predictor_4x4
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
118 void vpx_d207_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
119 void vpx_d207_predictor_8x8_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
120 RTCD_EXTERN
void (*vpx_d207_predictor_8x8
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
122 void vpx_d45_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
123 void vpx_d45_predictor_16x16_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
124 RTCD_EXTERN
void (*vpx_d45_predictor_16x16
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
126 void vpx_d45_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
127 void vpx_d45_predictor_32x32_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
128 RTCD_EXTERN
void (*vpx_d45_predictor_32x32
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
130 void vpx_d45_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
131 void vpx_d45_predictor_4x4_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
132 RTCD_EXTERN
void (*vpx_d45_predictor_4x4
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
134 void vpx_d45_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
135 void vpx_d45_predictor_8x8_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
136 RTCD_EXTERN
void (*vpx_d45_predictor_8x8
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
138 void vpx_d63_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
139 void vpx_d63_predictor_16x16_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
140 RTCD_EXTERN
void (*vpx_d63_predictor_16x16
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
142 void vpx_d63_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
143 void vpx_d63_predictor_32x32_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
144 RTCD_EXTERN
void (*vpx_d63_predictor_32x32
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
146 void vpx_d63_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
147 void vpx_d63_predictor_4x4_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
148 RTCD_EXTERN
void (*vpx_d63_predictor_4x4
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
150 void vpx_d63_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
151 void vpx_d63_predictor_8x8_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
152 RTCD_EXTERN
void (*vpx_d63_predictor_8x8
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
154 void vpx_dc_128_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
155 void vpx_dc_128_predictor_16x16_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
156 #define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_sse2
158 void vpx_dc_128_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
159 void vpx_dc_128_predictor_32x32_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
160 #define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_sse2
162 void vpx_dc_128_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
163 void vpx_dc_128_predictor_4x4_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
164 #define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_sse
166 void vpx_dc_128_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
167 void vpx_dc_128_predictor_8x8_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
168 #define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_sse
170 void vpx_dc_left_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
171 void vpx_dc_left_predictor_16x16_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
172 #define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_sse2
174 void vpx_dc_left_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
175 void vpx_dc_left_predictor_32x32_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
176 #define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_sse2
178 void vpx_dc_left_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
179 void vpx_dc_left_predictor_4x4_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
180 #define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_sse
182 void vpx_dc_left_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
183 void vpx_dc_left_predictor_8x8_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
184 #define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_sse
186 void vpx_dc_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
187 void vpx_dc_predictor_16x16_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
188 #define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_sse2
190 void vpx_dc_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
191 void vpx_dc_predictor_32x32_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
192 #define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_sse2
194 void vpx_dc_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
195 void vpx_dc_predictor_4x4_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
196 #define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_sse
198 void vpx_dc_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
199 void vpx_dc_predictor_8x8_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
200 #define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_sse
202 void vpx_dc_top_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
203 void vpx_dc_top_predictor_16x16_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
204 #define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_sse2
206 void vpx_dc_top_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
207 void vpx_dc_top_predictor_32x32_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
208 #define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_sse2
210 void vpx_dc_top_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
211 void vpx_dc_top_predictor_4x4_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
212 #define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_sse
214 void vpx_dc_top_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
215 void vpx_dc_top_predictor_8x8_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
216 #define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_sse
218 void vpx_fdct16x16_c(const int16_t *input
, tran_low_t
*output
, int stride
);
219 void vpx_fdct16x16_sse2(const int16_t *input
, tran_low_t
*output
, int stride
);
220 #define vpx_fdct16x16 vpx_fdct16x16_sse2
222 void vpx_fdct16x16_1_c(const int16_t *input
, tran_low_t
*output
, int stride
);
223 void vpx_fdct16x16_1_sse2(const int16_t *input
, tran_low_t
*output
, int stride
);
224 #define vpx_fdct16x16_1 vpx_fdct16x16_1_sse2
226 void vpx_fdct32x32_c(const int16_t *input
, tran_low_t
*output
, int stride
);
227 void vpx_fdct32x32_sse2(const int16_t *input
, tran_low_t
*output
, int stride
);
228 void vpx_fdct32x32_avx2(const int16_t *input
, tran_low_t
*output
, int stride
);
229 RTCD_EXTERN
void (*vpx_fdct32x32
)(const int16_t *input
, tran_low_t
*output
, int stride
);
231 void vpx_fdct32x32_1_c(const int16_t *input
, tran_low_t
*output
, int stride
);
232 void vpx_fdct32x32_1_sse2(const int16_t *input
, tran_low_t
*output
, int stride
);
233 #define vpx_fdct32x32_1 vpx_fdct32x32_1_sse2
235 void vpx_fdct32x32_rd_c(const int16_t *input
, tran_low_t
*output
, int stride
);
236 void vpx_fdct32x32_rd_sse2(const int16_t *input
, tran_low_t
*output
, int stride
);
237 void vpx_fdct32x32_rd_avx2(const int16_t *input
, tran_low_t
*output
, int stride
);
238 RTCD_EXTERN
void (*vpx_fdct32x32_rd
)(const int16_t *input
, tran_low_t
*output
, int stride
);
240 void vpx_fdct4x4_c(const int16_t *input
, tran_low_t
*output
, int stride
);
241 void vpx_fdct4x4_sse2(const int16_t *input
, tran_low_t
*output
, int stride
);
242 #define vpx_fdct4x4 vpx_fdct4x4_sse2
244 void vpx_fdct4x4_1_c(const int16_t *input
, tran_low_t
*output
, int stride
);
245 void vpx_fdct4x4_1_sse2(const int16_t *input
, tran_low_t
*output
, int stride
);
246 #define vpx_fdct4x4_1 vpx_fdct4x4_1_sse2
248 void vpx_fdct8x8_c(const int16_t *input
, tran_low_t
*output
, int stride
);
249 void vpx_fdct8x8_sse2(const int16_t *input
, tran_low_t
*output
, int stride
);
250 void vpx_fdct8x8_ssse3(const int16_t *input
, tran_low_t
*output
, int stride
);
251 RTCD_EXTERN
void (*vpx_fdct8x8
)(const int16_t *input
, tran_low_t
*output
, int stride
);
253 void vpx_fdct8x8_1_c(const int16_t *input
, tran_low_t
*output
, int stride
);
254 void vpx_fdct8x8_1_sse2(const int16_t *input
, tran_low_t
*output
, int stride
);
255 #define vpx_fdct8x8_1 vpx_fdct8x8_1_sse2
257 void vpx_get16x16var_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
, int *sum
);
258 void vpx_get16x16var_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
, int *sum
);
259 void vpx_get16x16var_avx2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
, int *sum
);
260 RTCD_EXTERN
void (*vpx_get16x16var
)(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
, int *sum
);
262 unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr
, int source_stride
, const unsigned char *ref_ptr
, int ref_stride
);
263 #define vpx_get4x4sse_cs vpx_get4x4sse_cs_c
265 void vpx_get8x8var_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
, int *sum
);
266 void vpx_get8x8var_mmx(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
, int *sum
);
267 void vpx_get8x8var_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
, int *sum
);
268 #define vpx_get8x8var vpx_get8x8var_sse2
270 unsigned int vpx_get_mb_ss_c(const int16_t *);
271 unsigned int vpx_get_mb_ss_mmx(const int16_t *);
272 unsigned int vpx_get_mb_ss_sse2(const int16_t *);
273 #define vpx_get_mb_ss vpx_get_mb_ss_sse2
275 void vpx_h_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
276 void vpx_h_predictor_16x16_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
277 RTCD_EXTERN
void (*vpx_h_predictor_16x16
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
279 void vpx_h_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
280 void vpx_h_predictor_32x32_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
281 RTCD_EXTERN
void (*vpx_h_predictor_32x32
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
283 void vpx_h_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
284 void vpx_h_predictor_4x4_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
285 RTCD_EXTERN
void (*vpx_h_predictor_4x4
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
287 void vpx_h_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
288 void vpx_h_predictor_8x8_ssse3(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
289 RTCD_EXTERN
void (*vpx_h_predictor_8x8
)(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
291 void vpx_idct16x16_10_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
292 void vpx_idct16x16_10_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
293 #define vpx_idct16x16_10_add vpx_idct16x16_10_add_sse2
295 void vpx_idct16x16_1_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
296 void vpx_idct16x16_1_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
297 #define vpx_idct16x16_1_add vpx_idct16x16_1_add_sse2
299 void vpx_idct16x16_256_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
300 void vpx_idct16x16_256_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
301 #define vpx_idct16x16_256_add vpx_idct16x16_256_add_sse2
303 void vpx_idct32x32_1024_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
304 void vpx_idct32x32_1024_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
305 #define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_sse2
307 void vpx_idct32x32_1_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
308 void vpx_idct32x32_1_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
309 #define vpx_idct32x32_1_add vpx_idct32x32_1_add_sse2
311 void vpx_idct32x32_34_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
312 void vpx_idct32x32_34_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
313 #define vpx_idct32x32_34_add vpx_idct32x32_34_add_sse2
315 void vpx_idct4x4_16_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
316 void vpx_idct4x4_16_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
317 #define vpx_idct4x4_16_add vpx_idct4x4_16_add_sse2
319 void vpx_idct4x4_1_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
320 void vpx_idct4x4_1_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
321 #define vpx_idct4x4_1_add vpx_idct4x4_1_add_sse2
323 void vpx_idct8x8_12_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
324 void vpx_idct8x8_12_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
325 void vpx_idct8x8_12_add_ssse3(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
326 RTCD_EXTERN
void (*vpx_idct8x8_12_add
)(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
328 void vpx_idct8x8_1_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
329 void vpx_idct8x8_1_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
330 #define vpx_idct8x8_1_add vpx_idct8x8_1_add_sse2
332 void vpx_idct8x8_64_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
333 void vpx_idct8x8_64_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
334 void vpx_idct8x8_64_add_ssse3(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
335 RTCD_EXTERN
void (*vpx_idct8x8_64_add
)(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
337 void vpx_iwht4x4_16_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
338 void vpx_iwht4x4_16_add_sse2(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
339 #define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_sse2
341 void vpx_iwht4x4_1_add_c(const tran_low_t
*input
, uint8_t *dest
, int dest_stride
);
342 #define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
344 void vpx_lpf_horizontal_16_c(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
345 void vpx_lpf_horizontal_16_sse2(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
346 void vpx_lpf_horizontal_16_avx2(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
347 RTCD_EXTERN
void (*vpx_lpf_horizontal_16
)(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
349 void vpx_lpf_horizontal_4_c(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
350 void vpx_lpf_horizontal_4_mmx(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
351 #define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_mmx
353 void vpx_lpf_horizontal_4_dual_c(uint8_t *s
, int pitch
, const uint8_t *blimit0
, const uint8_t *limit0
, const uint8_t *thresh0
, const uint8_t *blimit1
, const uint8_t *limit1
, const uint8_t *thresh1
);
354 void vpx_lpf_horizontal_4_dual_sse2(uint8_t *s
, int pitch
, const uint8_t *blimit0
, const uint8_t *limit0
, const uint8_t *thresh0
, const uint8_t *blimit1
, const uint8_t *limit1
, const uint8_t *thresh1
);
355 #define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_sse2
357 void vpx_lpf_horizontal_8_c(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
358 void vpx_lpf_horizontal_8_sse2(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
359 #define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_sse2
361 void vpx_lpf_horizontal_8_dual_c(uint8_t *s
, int pitch
, const uint8_t *blimit0
, const uint8_t *limit0
, const uint8_t *thresh0
, const uint8_t *blimit1
, const uint8_t *limit1
, const uint8_t *thresh1
);
362 void vpx_lpf_horizontal_8_dual_sse2(uint8_t *s
, int pitch
, const uint8_t *blimit0
, const uint8_t *limit0
, const uint8_t *thresh0
, const uint8_t *blimit1
, const uint8_t *limit1
, const uint8_t *thresh1
);
363 #define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_sse2
365 void vpx_lpf_vertical_16_c(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
);
366 void vpx_lpf_vertical_16_sse2(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
);
367 #define vpx_lpf_vertical_16 vpx_lpf_vertical_16_sse2
369 void vpx_lpf_vertical_16_dual_c(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
);
370 void vpx_lpf_vertical_16_dual_sse2(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
);
371 #define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_sse2
373 void vpx_lpf_vertical_4_c(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
374 void vpx_lpf_vertical_4_mmx(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
375 #define vpx_lpf_vertical_4 vpx_lpf_vertical_4_mmx
377 void vpx_lpf_vertical_4_dual_c(uint8_t *s
, int pitch
, const uint8_t *blimit0
, const uint8_t *limit0
, const uint8_t *thresh0
, const uint8_t *blimit1
, const uint8_t *limit1
, const uint8_t *thresh1
);
378 void vpx_lpf_vertical_4_dual_sse2(uint8_t *s
, int pitch
, const uint8_t *blimit0
, const uint8_t *limit0
, const uint8_t *thresh0
, const uint8_t *blimit1
, const uint8_t *limit1
, const uint8_t *thresh1
);
379 #define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_sse2
381 void vpx_lpf_vertical_8_c(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
382 void vpx_lpf_vertical_8_sse2(uint8_t *s
, int pitch
, const uint8_t *blimit
, const uint8_t *limit
, const uint8_t *thresh
, int count
);
383 #define vpx_lpf_vertical_8 vpx_lpf_vertical_8_sse2
385 void vpx_lpf_vertical_8_dual_c(uint8_t *s
, int pitch
, const uint8_t *blimit0
, const uint8_t *limit0
, const uint8_t *thresh0
, const uint8_t *blimit1
, const uint8_t *limit1
, const uint8_t *thresh1
);
386 void vpx_lpf_vertical_8_dual_sse2(uint8_t *s
, int pitch
, const uint8_t *blimit0
, const uint8_t *limit0
, const uint8_t *thresh0
, const uint8_t *blimit1
, const uint8_t *limit1
, const uint8_t *thresh1
);
387 #define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_sse2
389 unsigned int vpx_mse16x16_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
390 unsigned int vpx_mse16x16_mmx(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
391 unsigned int vpx_mse16x16_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
392 unsigned int vpx_mse16x16_avx2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
393 RTCD_EXTERN
unsigned int (*vpx_mse16x16
)(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
395 unsigned int vpx_mse16x8_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
396 unsigned int vpx_mse16x8_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
397 #define vpx_mse16x8 vpx_mse16x8_sse2
399 unsigned int vpx_mse8x16_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
400 unsigned int vpx_mse8x16_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
401 #define vpx_mse8x16 vpx_mse8x16_sse2
403 unsigned int vpx_mse8x8_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
404 unsigned int vpx_mse8x8_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int recon_stride
, unsigned int *sse
);
405 #define vpx_mse8x8 vpx_mse8x8_sse2
407 void vpx_quantize_b_c(const tran_low_t
*coeff_ptr
, intptr_t n_coeffs
, int skip_block
, const int16_t *zbin_ptr
, const int16_t *round_ptr
, const int16_t *quant_ptr
, const int16_t *quant_shift_ptr
, tran_low_t
*qcoeff_ptr
, tran_low_t
*dqcoeff_ptr
, const int16_t *dequant_ptr
, uint16_t *eob_ptr
, const int16_t *scan
, const int16_t *iscan
);
408 void vpx_quantize_b_sse2(const tran_low_t
*coeff_ptr
, intptr_t n_coeffs
, int skip_block
, const int16_t *zbin_ptr
, const int16_t *round_ptr
, const int16_t *quant_ptr
, const int16_t *quant_shift_ptr
, tran_low_t
*qcoeff_ptr
, tran_low_t
*dqcoeff_ptr
, const int16_t *dequant_ptr
, uint16_t *eob_ptr
, const int16_t *scan
, const int16_t *iscan
);
409 void vpx_quantize_b_ssse3(const tran_low_t
*coeff_ptr
, intptr_t n_coeffs
, int skip_block
, const int16_t *zbin_ptr
, const int16_t *round_ptr
, const int16_t *quant_ptr
, const int16_t *quant_shift_ptr
, tran_low_t
*qcoeff_ptr
, tran_low_t
*dqcoeff_ptr
, const int16_t *dequant_ptr
, uint16_t *eob_ptr
, const int16_t *scan
, const int16_t *iscan
);
410 RTCD_EXTERN
void (*vpx_quantize_b
)(const tran_low_t
*coeff_ptr
, intptr_t n_coeffs
, int skip_block
, const int16_t *zbin_ptr
, const int16_t *round_ptr
, const int16_t *quant_ptr
, const int16_t *quant_shift_ptr
, tran_low_t
*qcoeff_ptr
, tran_low_t
*dqcoeff_ptr
, const int16_t *dequant_ptr
, uint16_t *eob_ptr
, const int16_t *scan
, const int16_t *iscan
);
412 void vpx_quantize_b_32x32_c(const tran_low_t
*coeff_ptr
, intptr_t n_coeffs
, int skip_block
, const int16_t *zbin_ptr
, const int16_t *round_ptr
, const int16_t *quant_ptr
, const int16_t *quant_shift_ptr
, tran_low_t
*qcoeff_ptr
, tran_low_t
*dqcoeff_ptr
, const int16_t *dequant_ptr
, uint16_t *eob_ptr
, const int16_t *scan
, const int16_t *iscan
);
413 void vpx_quantize_b_32x32_ssse3(const tran_low_t
*coeff_ptr
, intptr_t n_coeffs
, int skip_block
, const int16_t *zbin_ptr
, const int16_t *round_ptr
, const int16_t *quant_ptr
, const int16_t *quant_shift_ptr
, tran_low_t
*qcoeff_ptr
, tran_low_t
*dqcoeff_ptr
, const int16_t *dequant_ptr
, uint16_t *eob_ptr
, const int16_t *scan
, const int16_t *iscan
);
414 RTCD_EXTERN
void (*vpx_quantize_b_32x32
)(const tran_low_t
*coeff_ptr
, intptr_t n_coeffs
, int skip_block
, const int16_t *zbin_ptr
, const int16_t *round_ptr
, const int16_t *quant_ptr
, const int16_t *quant_shift_ptr
, tran_low_t
*qcoeff_ptr
, tran_low_t
*dqcoeff_ptr
, const int16_t *dequant_ptr
, uint16_t *eob_ptr
, const int16_t *scan
, const int16_t *iscan
);
416 unsigned int vpx_sad16x16_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
417 unsigned int vpx_sad16x16_mmx(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
418 unsigned int vpx_sad16x16_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
419 #define vpx_sad16x16 vpx_sad16x16_sse2
421 unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
422 unsigned int vpx_sad16x16_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
423 #define vpx_sad16x16_avg vpx_sad16x16_avg_sse2
425 void vpx_sad16x16x3_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
426 void vpx_sad16x16x3_sse3(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
427 void vpx_sad16x16x3_ssse3(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
428 RTCD_EXTERN
void (*vpx_sad16x16x3
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
430 void vpx_sad16x16x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
431 void vpx_sad16x16x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
432 #define vpx_sad16x16x4d vpx_sad16x16x4d_sse2
434 void vpx_sad16x16x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
435 void vpx_sad16x16x8_sse4_1(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
436 RTCD_EXTERN
void (*vpx_sad16x16x8
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
438 unsigned int vpx_sad16x32_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
439 unsigned int vpx_sad16x32_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
440 #define vpx_sad16x32 vpx_sad16x32_sse2
442 unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
443 unsigned int vpx_sad16x32_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
444 #define vpx_sad16x32_avg vpx_sad16x32_avg_sse2
446 void vpx_sad16x32x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
447 void vpx_sad16x32x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
448 #define vpx_sad16x32x4d vpx_sad16x32x4d_sse2
450 unsigned int vpx_sad16x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
451 unsigned int vpx_sad16x8_mmx(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
452 unsigned int vpx_sad16x8_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
453 #define vpx_sad16x8 vpx_sad16x8_sse2
455 unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
456 unsigned int vpx_sad16x8_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
457 #define vpx_sad16x8_avg vpx_sad16x8_avg_sse2
459 void vpx_sad16x8x3_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
460 void vpx_sad16x8x3_sse3(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
461 void vpx_sad16x8x3_ssse3(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
462 RTCD_EXTERN
void (*vpx_sad16x8x3
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
464 void vpx_sad16x8x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
465 void vpx_sad16x8x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
466 #define vpx_sad16x8x4d vpx_sad16x8x4d_sse2
468 void vpx_sad16x8x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
469 void vpx_sad16x8x8_sse4_1(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
470 RTCD_EXTERN
void (*vpx_sad16x8x8
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
472 unsigned int vpx_sad32x16_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
473 unsigned int vpx_sad32x16_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
474 unsigned int vpx_sad32x16_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
475 RTCD_EXTERN
unsigned int (*vpx_sad32x16
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
477 unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
478 unsigned int vpx_sad32x16_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
479 unsigned int vpx_sad32x16_avg_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
480 RTCD_EXTERN
unsigned int (*vpx_sad32x16_avg
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
482 void vpx_sad32x16x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
483 void vpx_sad32x16x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
484 #define vpx_sad32x16x4d vpx_sad32x16x4d_sse2
486 unsigned int vpx_sad32x32_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
487 unsigned int vpx_sad32x32_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
488 unsigned int vpx_sad32x32_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
489 RTCD_EXTERN
unsigned int (*vpx_sad32x32
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
491 unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
492 unsigned int vpx_sad32x32_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
493 unsigned int vpx_sad32x32_avg_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
494 RTCD_EXTERN
unsigned int (*vpx_sad32x32_avg
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
496 void vpx_sad32x32x3_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
497 #define vpx_sad32x32x3 vpx_sad32x32x3_c
499 void vpx_sad32x32x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
500 void vpx_sad32x32x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
501 void vpx_sad32x32x4d_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
502 RTCD_EXTERN
void (*vpx_sad32x32x4d
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
504 void vpx_sad32x32x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
505 #define vpx_sad32x32x8 vpx_sad32x32x8_c
507 unsigned int vpx_sad32x64_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
508 unsigned int vpx_sad32x64_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
509 unsigned int vpx_sad32x64_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
510 RTCD_EXTERN
unsigned int (*vpx_sad32x64
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
512 unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
513 unsigned int vpx_sad32x64_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
514 unsigned int vpx_sad32x64_avg_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
515 RTCD_EXTERN
unsigned int (*vpx_sad32x64_avg
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
517 void vpx_sad32x64x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
518 void vpx_sad32x64x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
519 #define vpx_sad32x64x4d vpx_sad32x64x4d_sse2
521 unsigned int vpx_sad4x4_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
522 unsigned int vpx_sad4x4_mmx(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
523 unsigned int vpx_sad4x4_sse(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
524 #define vpx_sad4x4 vpx_sad4x4_sse
526 unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
527 unsigned int vpx_sad4x4_avg_sse(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
528 #define vpx_sad4x4_avg vpx_sad4x4_avg_sse
530 void vpx_sad4x4x3_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
531 void vpx_sad4x4x3_sse3(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
532 RTCD_EXTERN
void (*vpx_sad4x4x3
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
534 void vpx_sad4x4x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
535 void vpx_sad4x4x4d_sse(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
536 #define vpx_sad4x4x4d vpx_sad4x4x4d_sse
538 void vpx_sad4x4x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
539 void vpx_sad4x4x8_sse4_1(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
540 RTCD_EXTERN
void (*vpx_sad4x4x8
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
542 unsigned int vpx_sad4x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
543 unsigned int vpx_sad4x8_sse(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
544 #define vpx_sad4x8 vpx_sad4x8_sse
546 unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
547 unsigned int vpx_sad4x8_avg_sse(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
548 #define vpx_sad4x8_avg vpx_sad4x8_avg_sse
550 void vpx_sad4x8x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
551 void vpx_sad4x8x4d_sse(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
552 #define vpx_sad4x8x4d vpx_sad4x8x4d_sse
554 void vpx_sad4x8x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
555 #define vpx_sad4x8x8 vpx_sad4x8x8_c
557 unsigned int vpx_sad64x32_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
558 unsigned int vpx_sad64x32_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
559 unsigned int vpx_sad64x32_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
560 RTCD_EXTERN
unsigned int (*vpx_sad64x32
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
562 unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
563 unsigned int vpx_sad64x32_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
564 unsigned int vpx_sad64x32_avg_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
565 RTCD_EXTERN
unsigned int (*vpx_sad64x32_avg
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
567 void vpx_sad64x32x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
568 void vpx_sad64x32x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
569 #define vpx_sad64x32x4d vpx_sad64x32x4d_sse2
571 unsigned int vpx_sad64x64_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
572 unsigned int vpx_sad64x64_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
573 unsigned int vpx_sad64x64_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
574 RTCD_EXTERN
unsigned int (*vpx_sad64x64
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
576 unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
577 unsigned int vpx_sad64x64_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
578 unsigned int vpx_sad64x64_avg_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
579 RTCD_EXTERN
unsigned int (*vpx_sad64x64_avg
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
581 void vpx_sad64x64x3_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
582 #define vpx_sad64x64x3 vpx_sad64x64x3_c
584 void vpx_sad64x64x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
585 void vpx_sad64x64x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
586 void vpx_sad64x64x4d_avx2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
587 RTCD_EXTERN
void (*vpx_sad64x64x4d
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
589 void vpx_sad64x64x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
590 #define vpx_sad64x64x8 vpx_sad64x64x8_c
592 unsigned int vpx_sad8x16_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
593 unsigned int vpx_sad8x16_mmx(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
594 unsigned int vpx_sad8x16_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
595 #define vpx_sad8x16 vpx_sad8x16_sse2
597 unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
598 unsigned int vpx_sad8x16_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
599 #define vpx_sad8x16_avg vpx_sad8x16_avg_sse2
601 void vpx_sad8x16x3_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
602 void vpx_sad8x16x3_sse3(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
603 RTCD_EXTERN
void (*vpx_sad8x16x3
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
605 void vpx_sad8x16x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
606 void vpx_sad8x16x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
607 #define vpx_sad8x16x4d vpx_sad8x16x4d_sse2
609 void vpx_sad8x16x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
610 void vpx_sad8x16x8_sse4_1(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
611 RTCD_EXTERN
void (*vpx_sad8x16x8
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
613 unsigned int vpx_sad8x4_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
614 unsigned int vpx_sad8x4_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
615 #define vpx_sad8x4 vpx_sad8x4_sse2
617 unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
618 unsigned int vpx_sad8x4_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
619 #define vpx_sad8x4_avg vpx_sad8x4_avg_sse2
621 void vpx_sad8x4x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
622 void vpx_sad8x4x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
623 #define vpx_sad8x4x4d vpx_sad8x4x4d_sse2
625 void vpx_sad8x4x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
626 #define vpx_sad8x4x8 vpx_sad8x4x8_c
628 unsigned int vpx_sad8x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
629 unsigned int vpx_sad8x8_mmx(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
630 unsigned int vpx_sad8x8_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
);
631 #define vpx_sad8x8 vpx_sad8x8_sse2
633 unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
634 unsigned int vpx_sad8x8_avg_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, const uint8_t *second_pred
);
635 #define vpx_sad8x8_avg vpx_sad8x8_avg_sse2
637 void vpx_sad8x8x3_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
638 void vpx_sad8x8x3_sse3(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
639 RTCD_EXTERN
void (*vpx_sad8x8x3
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
641 void vpx_sad8x8x4d_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
642 void vpx_sad8x8x4d_sse2(const uint8_t *src_ptr
, int src_stride
, const uint8_t * const ref_ptr
[], int ref_stride
, uint32_t *sad_array
);
643 #define vpx_sad8x8x4d vpx_sad8x8x4d_sse2
645 void vpx_sad8x8x8_c(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
646 void vpx_sad8x8x8_sse4_1(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
647 RTCD_EXTERN
void (*vpx_sad8x8x8
)(const uint8_t *src_ptr
, int src_stride
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sad_array
);
649 void vpx_scaled_2d_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
650 void vpx_scaled_2d_ssse3(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
651 RTCD_EXTERN
void (*vpx_scaled_2d
)(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
653 void vpx_scaled_avg_2d_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
654 #define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
656 void vpx_scaled_avg_horiz_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
657 #define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
659 void vpx_scaled_avg_vert_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
660 #define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
662 void vpx_scaled_horiz_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
663 #define vpx_scaled_horiz vpx_scaled_horiz_c
665 void vpx_scaled_vert_c(const uint8_t *src
, ptrdiff_t src_stride
, uint8_t *dst
, ptrdiff_t dst_stride
, const int16_t *filter_x
, int x_step_q4
, const int16_t *filter_y
, int y_step_q4
, int w
, int h
);
666 #define vpx_scaled_vert vpx_scaled_vert_c
668 uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
669 uint32_t vpx_sub_pixel_avg_variance16x16_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
670 uint32_t vpx_sub_pixel_avg_variance16x16_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
671 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance16x16
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
673 uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
674 uint32_t vpx_sub_pixel_avg_variance16x32_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
675 uint32_t vpx_sub_pixel_avg_variance16x32_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
676 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance16x32
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
678 uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
679 uint32_t vpx_sub_pixel_avg_variance16x8_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
680 uint32_t vpx_sub_pixel_avg_variance16x8_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
681 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance16x8
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
683 uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
684 uint32_t vpx_sub_pixel_avg_variance32x16_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
685 uint32_t vpx_sub_pixel_avg_variance32x16_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
686 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance32x16
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
688 uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
689 uint32_t vpx_sub_pixel_avg_variance32x32_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
690 uint32_t vpx_sub_pixel_avg_variance32x32_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
691 uint32_t vpx_sub_pixel_avg_variance32x32_avx2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
692 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance32x32
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
694 uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
695 uint32_t vpx_sub_pixel_avg_variance32x64_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
696 uint32_t vpx_sub_pixel_avg_variance32x64_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
697 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance32x64
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
699 uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
700 uint32_t vpx_sub_pixel_avg_variance4x4_sse(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
701 uint32_t vpx_sub_pixel_avg_variance4x4_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
702 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance4x4
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
704 uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
705 uint32_t vpx_sub_pixel_avg_variance4x8_sse(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
706 uint32_t vpx_sub_pixel_avg_variance4x8_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
707 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance4x8
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
709 uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
710 uint32_t vpx_sub_pixel_avg_variance64x32_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
711 uint32_t vpx_sub_pixel_avg_variance64x32_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
712 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance64x32
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
714 uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
715 uint32_t vpx_sub_pixel_avg_variance64x64_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
716 uint32_t vpx_sub_pixel_avg_variance64x64_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
717 uint32_t vpx_sub_pixel_avg_variance64x64_avx2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
718 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance64x64
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
720 uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
721 uint32_t vpx_sub_pixel_avg_variance8x16_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
722 uint32_t vpx_sub_pixel_avg_variance8x16_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
723 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance8x16
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
725 uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
726 uint32_t vpx_sub_pixel_avg_variance8x4_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
727 uint32_t vpx_sub_pixel_avg_variance8x4_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
728 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance8x4
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
730 uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
731 uint32_t vpx_sub_pixel_avg_variance8x8_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
732 uint32_t vpx_sub_pixel_avg_variance8x8_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
733 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_avg_variance8x8
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
, const uint8_t *second_pred
);
735 uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
736 uint32_t vpx_sub_pixel_variance16x16_mmx(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
737 uint32_t vpx_sub_pixel_variance16x16_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
738 uint32_t vpx_sub_pixel_variance16x16_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
739 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance16x16
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
741 uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
742 uint32_t vpx_sub_pixel_variance16x32_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
743 uint32_t vpx_sub_pixel_variance16x32_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
744 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance16x32
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
746 uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
747 uint32_t vpx_sub_pixel_variance16x8_mmx(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
748 uint32_t vpx_sub_pixel_variance16x8_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
749 uint32_t vpx_sub_pixel_variance16x8_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
750 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance16x8
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
752 uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
753 uint32_t vpx_sub_pixel_variance32x16_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
754 uint32_t vpx_sub_pixel_variance32x16_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
755 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance32x16
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
757 uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
758 uint32_t vpx_sub_pixel_variance32x32_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
759 uint32_t vpx_sub_pixel_variance32x32_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
760 uint32_t vpx_sub_pixel_variance32x32_avx2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
761 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance32x32
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
763 uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
764 uint32_t vpx_sub_pixel_variance32x64_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
765 uint32_t vpx_sub_pixel_variance32x64_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
766 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance32x64
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
768 uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
769 uint32_t vpx_sub_pixel_variance4x4_mmx(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
770 uint32_t vpx_sub_pixel_variance4x4_sse(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
771 uint32_t vpx_sub_pixel_variance4x4_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
772 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance4x4
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
774 uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
775 uint32_t vpx_sub_pixel_variance4x8_sse(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
776 uint32_t vpx_sub_pixel_variance4x8_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
777 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance4x8
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
779 uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
780 uint32_t vpx_sub_pixel_variance64x32_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
781 uint32_t vpx_sub_pixel_variance64x32_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
782 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance64x32
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
784 uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
785 uint32_t vpx_sub_pixel_variance64x64_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
786 uint32_t vpx_sub_pixel_variance64x64_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
787 uint32_t vpx_sub_pixel_variance64x64_avx2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
788 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance64x64
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
790 uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
791 uint32_t vpx_sub_pixel_variance8x16_mmx(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
792 uint32_t vpx_sub_pixel_variance8x16_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
793 uint32_t vpx_sub_pixel_variance8x16_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
794 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance8x16
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
796 uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
797 uint32_t vpx_sub_pixel_variance8x4_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
798 uint32_t vpx_sub_pixel_variance8x4_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
799 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance8x4
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
801 uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
802 uint32_t vpx_sub_pixel_variance8x8_mmx(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
803 uint32_t vpx_sub_pixel_variance8x8_sse2(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
804 uint32_t vpx_sub_pixel_variance8x8_ssse3(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
805 RTCD_EXTERN
uint32_t (*vpx_sub_pixel_variance8x8
)(const uint8_t *src_ptr
, int source_stride
, int xoffset
, int yoffset
, const uint8_t *ref_ptr
, int ref_stride
, uint32_t *sse
);
807 void vpx_subtract_block_c(int rows
, int cols
, int16_t *diff_ptr
, ptrdiff_t diff_stride
, const uint8_t *src_ptr
, ptrdiff_t src_stride
, const uint8_t *pred_ptr
, ptrdiff_t pred_stride
);
808 void vpx_subtract_block_sse2(int rows
, int cols
, int16_t *diff_ptr
, ptrdiff_t diff_stride
, const uint8_t *src_ptr
, ptrdiff_t src_stride
, const uint8_t *pred_ptr
, ptrdiff_t pred_stride
);
809 #define vpx_subtract_block vpx_subtract_block_sse2
811 void vpx_tm_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
812 void vpx_tm_predictor_16x16_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
813 #define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_sse2
815 void vpx_tm_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
816 void vpx_tm_predictor_32x32_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
817 #define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_sse2
819 void vpx_tm_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
820 void vpx_tm_predictor_4x4_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
821 #define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_sse
823 void vpx_tm_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
824 void vpx_tm_predictor_8x8_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
825 #define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_sse2
827 void vpx_v_predictor_16x16_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
828 void vpx_v_predictor_16x16_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
829 #define vpx_v_predictor_16x16 vpx_v_predictor_16x16_sse2
831 void vpx_v_predictor_32x32_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
832 void vpx_v_predictor_32x32_sse2(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
833 #define vpx_v_predictor_32x32 vpx_v_predictor_32x32_sse2
835 void vpx_v_predictor_4x4_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
836 void vpx_v_predictor_4x4_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
837 #define vpx_v_predictor_4x4 vpx_v_predictor_4x4_sse
839 void vpx_v_predictor_8x8_c(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
840 void vpx_v_predictor_8x8_sse(uint8_t *dst
, ptrdiff_t y_stride
, const uint8_t *above
, const uint8_t *left
);
841 #define vpx_v_predictor_8x8 vpx_v_predictor_8x8_sse
843 unsigned int vpx_variance16x16_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
844 unsigned int vpx_variance16x16_mmx(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
845 unsigned int vpx_variance16x16_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
846 unsigned int vpx_variance16x16_avx2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
847 RTCD_EXTERN
unsigned int (*vpx_variance16x16
)(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
849 unsigned int vpx_variance16x32_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
850 unsigned int vpx_variance16x32_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
851 #define vpx_variance16x32 vpx_variance16x32_sse2
853 unsigned int vpx_variance16x8_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
854 unsigned int vpx_variance16x8_mmx(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
855 unsigned int vpx_variance16x8_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
856 #define vpx_variance16x8 vpx_variance16x8_sse2
858 unsigned int vpx_variance32x16_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
859 unsigned int vpx_variance32x16_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
860 unsigned int vpx_variance32x16_avx2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
861 RTCD_EXTERN
unsigned int (*vpx_variance32x16
)(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
863 unsigned int vpx_variance32x32_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
864 unsigned int vpx_variance32x32_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
865 unsigned int vpx_variance32x32_avx2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
866 RTCD_EXTERN
unsigned int (*vpx_variance32x32
)(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
868 unsigned int vpx_variance32x64_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
869 unsigned int vpx_variance32x64_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
870 #define vpx_variance32x64 vpx_variance32x64_sse2
872 unsigned int vpx_variance4x4_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
873 unsigned int vpx_variance4x4_mmx(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
874 unsigned int vpx_variance4x4_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
875 #define vpx_variance4x4 vpx_variance4x4_sse2
877 unsigned int vpx_variance4x8_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
878 unsigned int vpx_variance4x8_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
879 #define vpx_variance4x8 vpx_variance4x8_sse2
881 unsigned int vpx_variance64x32_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
882 unsigned int vpx_variance64x32_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
883 unsigned int vpx_variance64x32_avx2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
884 RTCD_EXTERN
unsigned int (*vpx_variance64x32
)(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
886 unsigned int vpx_variance64x64_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
887 unsigned int vpx_variance64x64_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
888 unsigned int vpx_variance64x64_avx2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
889 RTCD_EXTERN
unsigned int (*vpx_variance64x64
)(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
891 unsigned int vpx_variance8x16_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
892 unsigned int vpx_variance8x16_mmx(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
893 unsigned int vpx_variance8x16_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
894 #define vpx_variance8x16 vpx_variance8x16_sse2
896 unsigned int vpx_variance8x4_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
897 unsigned int vpx_variance8x4_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
898 #define vpx_variance8x4 vpx_variance8x4_sse2
900 unsigned int vpx_variance8x8_c(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
901 unsigned int vpx_variance8x8_mmx(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
902 unsigned int vpx_variance8x8_sse2(const uint8_t *src_ptr
, int source_stride
, const uint8_t *ref_ptr
, int ref_stride
, unsigned int *sse
);
903 #define vpx_variance8x8 vpx_variance8x8_sse2
905 uint32_t vpx_variance_halfpixvar16x16_h_c(const unsigned char *src_ptr
, int source_stride
, const unsigned char *ref_ptr
, int ref_stride
, uint32_t *sse
);
906 uint32_t vpx_variance_halfpixvar16x16_h_mmx(const unsigned char *src_ptr
, int source_stride
, const unsigned char *ref_ptr
, int ref_stride
, uint32_t *sse
);
907 uint32_t vpx_variance_halfpixvar16x16_h_sse2(const unsigned char *src_ptr
, int source_stride
, const unsigned char *ref_ptr
, int ref_stride
, uint32_t *sse
);
908 #define vpx_variance_halfpixvar16x16_h vpx_variance_halfpixvar16x16_h_sse2
910 uint32_t vpx_variance_halfpixvar16x16_hv_c(const unsigned char *src_ptr
, int source_stride
, const unsigned char *ref_ptr
, int ref_stride
, uint32_t *sse
);
911 uint32_t vpx_variance_halfpixvar16x16_hv_mmx(const unsigned char *src_ptr
, int source_stride
, const unsigned char *ref_ptr
, int ref_stride
, uint32_t *sse
);
912 uint32_t vpx_variance_halfpixvar16x16_hv_sse2(const unsigned char *src_ptr
, int source_stride
, const unsigned char *ref_ptr
, int ref_stride
, uint32_t *sse
);
913 #define vpx_variance_halfpixvar16x16_hv vpx_variance_halfpixvar16x16_hv_sse2
915 uint32_t vpx_variance_halfpixvar16x16_v_c(const unsigned char *src_ptr
, int source_stride
, const unsigned char *ref_ptr
, int ref_stride
, uint32_t *sse
);
916 uint32_t vpx_variance_halfpixvar16x16_v_mmx(const unsigned char *src_ptr
, int source_stride
, const unsigned char *ref_ptr
, int ref_stride
, uint32_t *sse
);
917 uint32_t vpx_variance_halfpixvar16x16_v_sse2(const unsigned char *src_ptr
, int source_stride
, const unsigned char *ref_ptr
, int ref_stride
, uint32_t *sse
);
918 #define vpx_variance_halfpixvar16x16_v vpx_variance_halfpixvar16x16_v_sse2
920 void vpx_dsp_rtcd(void);
923 #include "vpx_ports/x86.h"
924 static void setup_rtcd_internal(void)
926 int flags
= x86_simd_caps();
930 vpx_convolve8
= vpx_convolve8_sse2
;
931 if (flags
& HAS_SSSE3
) vpx_convolve8
= vpx_convolve8_ssse3
;
932 if (flags
& HAS_AVX2
) vpx_convolve8
= vpx_convolve8_avx2
;
933 vpx_convolve8_avg
= vpx_convolve8_avg_sse2
;
934 if (flags
& HAS_SSSE3
) vpx_convolve8_avg
= vpx_convolve8_avg_ssse3
;
935 vpx_convolve8_avg_horiz
= vpx_convolve8_avg_horiz_sse2
;
936 if (flags
& HAS_SSSE3
) vpx_convolve8_avg_horiz
= vpx_convolve8_avg_horiz_ssse3
;
937 vpx_convolve8_avg_vert
= vpx_convolve8_avg_vert_sse2
;
938 if (flags
& HAS_SSSE3
) vpx_convolve8_avg_vert
= vpx_convolve8_avg_vert_ssse3
;
939 vpx_convolve8_horiz
= vpx_convolve8_horiz_sse2
;
940 if (flags
& HAS_SSSE3
) vpx_convolve8_horiz
= vpx_convolve8_horiz_ssse3
;
941 if (flags
& HAS_AVX2
) vpx_convolve8_horiz
= vpx_convolve8_horiz_avx2
;
942 vpx_convolve8_vert
= vpx_convolve8_vert_sse2
;
943 if (flags
& HAS_SSSE3
) vpx_convolve8_vert
= vpx_convolve8_vert_ssse3
;
944 if (flags
& HAS_AVX2
) vpx_convolve8_vert
= vpx_convolve8_vert_avx2
;
945 vpx_d153_predictor_16x16
= vpx_d153_predictor_16x16_c
;
946 if (flags
& HAS_SSSE3
) vpx_d153_predictor_16x16
= vpx_d153_predictor_16x16_ssse3
;
947 vpx_d153_predictor_32x32
= vpx_d153_predictor_32x32_c
;
948 if (flags
& HAS_SSSE3
) vpx_d153_predictor_32x32
= vpx_d153_predictor_32x32_ssse3
;
949 vpx_d153_predictor_4x4
= vpx_d153_predictor_4x4_c
;
950 if (flags
& HAS_SSSE3
) vpx_d153_predictor_4x4
= vpx_d153_predictor_4x4_ssse3
;
951 vpx_d153_predictor_8x8
= vpx_d153_predictor_8x8_c
;
952 if (flags
& HAS_SSSE3
) vpx_d153_predictor_8x8
= vpx_d153_predictor_8x8_ssse3
;
953 vpx_d207_predictor_16x16
= vpx_d207_predictor_16x16_c
;
954 if (flags
& HAS_SSSE3
) vpx_d207_predictor_16x16
= vpx_d207_predictor_16x16_ssse3
;
955 vpx_d207_predictor_32x32
= vpx_d207_predictor_32x32_c
;
956 if (flags
& HAS_SSSE3
) vpx_d207_predictor_32x32
= vpx_d207_predictor_32x32_ssse3
;
957 vpx_d207_predictor_4x4
= vpx_d207_predictor_4x4_c
;
958 if (flags
& HAS_SSSE3
) vpx_d207_predictor_4x4
= vpx_d207_predictor_4x4_ssse3
;
959 vpx_d207_predictor_8x8
= vpx_d207_predictor_8x8_c
;
960 if (flags
& HAS_SSSE3
) vpx_d207_predictor_8x8
= vpx_d207_predictor_8x8_ssse3
;
961 vpx_d45_predictor_16x16
= vpx_d45_predictor_16x16_c
;
962 if (flags
& HAS_SSSE3
) vpx_d45_predictor_16x16
= vpx_d45_predictor_16x16_ssse3
;
963 vpx_d45_predictor_32x32
= vpx_d45_predictor_32x32_c
;
964 if (flags
& HAS_SSSE3
) vpx_d45_predictor_32x32
= vpx_d45_predictor_32x32_ssse3
;
965 vpx_d45_predictor_4x4
= vpx_d45_predictor_4x4_c
;
966 if (flags
& HAS_SSSE3
) vpx_d45_predictor_4x4
= vpx_d45_predictor_4x4_ssse3
;
967 vpx_d45_predictor_8x8
= vpx_d45_predictor_8x8_c
;
968 if (flags
& HAS_SSSE3
) vpx_d45_predictor_8x8
= vpx_d45_predictor_8x8_ssse3
;
969 vpx_d63_predictor_16x16
= vpx_d63_predictor_16x16_c
;
970 if (flags
& HAS_SSSE3
) vpx_d63_predictor_16x16
= vpx_d63_predictor_16x16_ssse3
;
971 vpx_d63_predictor_32x32
= vpx_d63_predictor_32x32_c
;
972 if (flags
& HAS_SSSE3
) vpx_d63_predictor_32x32
= vpx_d63_predictor_32x32_ssse3
;
973 vpx_d63_predictor_4x4
= vpx_d63_predictor_4x4_c
;
974 if (flags
& HAS_SSSE3
) vpx_d63_predictor_4x4
= vpx_d63_predictor_4x4_ssse3
;
975 vpx_d63_predictor_8x8
= vpx_d63_predictor_8x8_c
;
976 if (flags
& HAS_SSSE3
) vpx_d63_predictor_8x8
= vpx_d63_predictor_8x8_ssse3
;
977 vpx_fdct32x32
= vpx_fdct32x32_sse2
;
978 if (flags
& HAS_AVX2
) vpx_fdct32x32
= vpx_fdct32x32_avx2
;
979 vpx_fdct32x32_rd
= vpx_fdct32x32_rd_sse2
;
980 if (flags
& HAS_AVX2
) vpx_fdct32x32_rd
= vpx_fdct32x32_rd_avx2
;
981 vpx_fdct8x8
= vpx_fdct8x8_sse2
;
982 if (flags
& HAS_SSSE3
) vpx_fdct8x8
= vpx_fdct8x8_ssse3
;
983 vpx_get16x16var
= vpx_get16x16var_sse2
;
984 if (flags
& HAS_AVX2
) vpx_get16x16var
= vpx_get16x16var_avx2
;
985 vpx_h_predictor_16x16
= vpx_h_predictor_16x16_c
;
986 if (flags
& HAS_SSSE3
) vpx_h_predictor_16x16
= vpx_h_predictor_16x16_ssse3
;
987 vpx_h_predictor_32x32
= vpx_h_predictor_32x32_c
;
988 if (flags
& HAS_SSSE3
) vpx_h_predictor_32x32
= vpx_h_predictor_32x32_ssse3
;
989 vpx_h_predictor_4x4
= vpx_h_predictor_4x4_c
;
990 if (flags
& HAS_SSSE3
) vpx_h_predictor_4x4
= vpx_h_predictor_4x4_ssse3
;
991 vpx_h_predictor_8x8
= vpx_h_predictor_8x8_c
;
992 if (flags
& HAS_SSSE3
) vpx_h_predictor_8x8
= vpx_h_predictor_8x8_ssse3
;
993 vpx_idct8x8_12_add
= vpx_idct8x8_12_add_sse2
;
994 if (flags
& HAS_SSSE3
) vpx_idct8x8_12_add
= vpx_idct8x8_12_add_ssse3
;
995 vpx_idct8x8_64_add
= vpx_idct8x8_64_add_sse2
;
996 if (flags
& HAS_SSSE3
) vpx_idct8x8_64_add
= vpx_idct8x8_64_add_ssse3
;
997 vpx_lpf_horizontal_16
= vpx_lpf_horizontal_16_sse2
;
998 if (flags
& HAS_AVX2
) vpx_lpf_horizontal_16
= vpx_lpf_horizontal_16_avx2
;
999 vpx_mse16x16
= vpx_mse16x16_sse2
;
1000 if (flags
& HAS_AVX2
) vpx_mse16x16
= vpx_mse16x16_avx2
;
1001 vpx_quantize_b
= vpx_quantize_b_sse2
;
1002 if (flags
& HAS_SSSE3
) vpx_quantize_b
= vpx_quantize_b_ssse3
;
1003 vpx_quantize_b_32x32
= vpx_quantize_b_32x32_c
;
1004 if (flags
& HAS_SSSE3
) vpx_quantize_b_32x32
= vpx_quantize_b_32x32_ssse3
;
1005 vpx_sad16x16x3
= vpx_sad16x16x3_c
;
1006 if (flags
& HAS_SSE3
) vpx_sad16x16x3
= vpx_sad16x16x3_sse3
;
1007 if (flags
& HAS_SSSE3
) vpx_sad16x16x3
= vpx_sad16x16x3_ssse3
;
1008 vpx_sad16x16x8
= vpx_sad16x16x8_c
;
1009 if (flags
& HAS_SSE4_1
) vpx_sad16x16x8
= vpx_sad16x16x8_sse4_1
;
1010 vpx_sad16x8x3
= vpx_sad16x8x3_c
;
1011 if (flags
& HAS_SSE3
) vpx_sad16x8x3
= vpx_sad16x8x3_sse3
;
1012 if (flags
& HAS_SSSE3
) vpx_sad16x8x3
= vpx_sad16x8x3_ssse3
;
1013 vpx_sad16x8x8
= vpx_sad16x8x8_c
;
1014 if (flags
& HAS_SSE4_1
) vpx_sad16x8x8
= vpx_sad16x8x8_sse4_1
;
1015 vpx_sad32x16
= vpx_sad32x16_sse2
;
1016 if (flags
& HAS_AVX2
) vpx_sad32x16
= vpx_sad32x16_avx2
;
1017 vpx_sad32x16_avg
= vpx_sad32x16_avg_sse2
;
1018 if (flags
& HAS_AVX2
) vpx_sad32x16_avg
= vpx_sad32x16_avg_avx2
;
1019 vpx_sad32x32
= vpx_sad32x32_sse2
;
1020 if (flags
& HAS_AVX2
) vpx_sad32x32
= vpx_sad32x32_avx2
;
1021 vpx_sad32x32_avg
= vpx_sad32x32_avg_sse2
;
1022 if (flags
& HAS_AVX2
) vpx_sad32x32_avg
= vpx_sad32x32_avg_avx2
;
1023 vpx_sad32x32x4d
= vpx_sad32x32x4d_sse2
;
1024 if (flags
& HAS_AVX2
) vpx_sad32x32x4d
= vpx_sad32x32x4d_avx2
;
1025 vpx_sad32x64
= vpx_sad32x64_sse2
;
1026 if (flags
& HAS_AVX2
) vpx_sad32x64
= vpx_sad32x64_avx2
;
1027 vpx_sad32x64_avg
= vpx_sad32x64_avg_sse2
;
1028 if (flags
& HAS_AVX2
) vpx_sad32x64_avg
= vpx_sad32x64_avg_avx2
;
1029 vpx_sad4x4x3
= vpx_sad4x4x3_c
;
1030 if (flags
& HAS_SSE3
) vpx_sad4x4x3
= vpx_sad4x4x3_sse3
;
1031 vpx_sad4x4x8
= vpx_sad4x4x8_c
;
1032 if (flags
& HAS_SSE4_1
) vpx_sad4x4x8
= vpx_sad4x4x8_sse4_1
;
1033 vpx_sad64x32
= vpx_sad64x32_sse2
;
1034 if (flags
& HAS_AVX2
) vpx_sad64x32
= vpx_sad64x32_avx2
;
1035 vpx_sad64x32_avg
= vpx_sad64x32_avg_sse2
;
1036 if (flags
& HAS_AVX2
) vpx_sad64x32_avg
= vpx_sad64x32_avg_avx2
;
1037 vpx_sad64x64
= vpx_sad64x64_sse2
;
1038 if (flags
& HAS_AVX2
) vpx_sad64x64
= vpx_sad64x64_avx2
;
1039 vpx_sad64x64_avg
= vpx_sad64x64_avg_sse2
;
1040 if (flags
& HAS_AVX2
) vpx_sad64x64_avg
= vpx_sad64x64_avg_avx2
;
1041 vpx_sad64x64x4d
= vpx_sad64x64x4d_sse2
;
1042 if (flags
& HAS_AVX2
) vpx_sad64x64x4d
= vpx_sad64x64x4d_avx2
;
1043 vpx_sad8x16x3
= vpx_sad8x16x3_c
;
1044 if (flags
& HAS_SSE3
) vpx_sad8x16x3
= vpx_sad8x16x3_sse3
;
1045 vpx_sad8x16x8
= vpx_sad8x16x8_c
;
1046 if (flags
& HAS_SSE4_1
) vpx_sad8x16x8
= vpx_sad8x16x8_sse4_1
;
1047 vpx_sad8x8x3
= vpx_sad8x8x3_c
;
1048 if (flags
& HAS_SSE3
) vpx_sad8x8x3
= vpx_sad8x8x3_sse3
;
1049 vpx_sad8x8x8
= vpx_sad8x8x8_c
;
1050 if (flags
& HAS_SSE4_1
) vpx_sad8x8x8
= vpx_sad8x8x8_sse4_1
;
1051 vpx_scaled_2d
= vpx_scaled_2d_c
;
1052 if (flags
& HAS_SSSE3
) vpx_scaled_2d
= vpx_scaled_2d_ssse3
;
1053 vpx_sub_pixel_avg_variance16x16
= vpx_sub_pixel_avg_variance16x16_sse2
;
1054 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance16x16
= vpx_sub_pixel_avg_variance16x16_ssse3
;
1055 vpx_sub_pixel_avg_variance16x32
= vpx_sub_pixel_avg_variance16x32_sse2
;
1056 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance16x32
= vpx_sub_pixel_avg_variance16x32_ssse3
;
1057 vpx_sub_pixel_avg_variance16x8
= vpx_sub_pixel_avg_variance16x8_sse2
;
1058 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance16x8
= vpx_sub_pixel_avg_variance16x8_ssse3
;
1059 vpx_sub_pixel_avg_variance32x16
= vpx_sub_pixel_avg_variance32x16_sse2
;
1060 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance32x16
= vpx_sub_pixel_avg_variance32x16_ssse3
;
1061 vpx_sub_pixel_avg_variance32x32
= vpx_sub_pixel_avg_variance32x32_sse2
;
1062 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance32x32
= vpx_sub_pixel_avg_variance32x32_ssse3
;
1063 if (flags
& HAS_AVX2
) vpx_sub_pixel_avg_variance32x32
= vpx_sub_pixel_avg_variance32x32_avx2
;
1064 vpx_sub_pixel_avg_variance32x64
= vpx_sub_pixel_avg_variance32x64_sse2
;
1065 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance32x64
= vpx_sub_pixel_avg_variance32x64_ssse3
;
1066 vpx_sub_pixel_avg_variance4x4
= vpx_sub_pixel_avg_variance4x4_sse
;
1067 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance4x4
= vpx_sub_pixel_avg_variance4x4_ssse3
;
1068 vpx_sub_pixel_avg_variance4x8
= vpx_sub_pixel_avg_variance4x8_sse
;
1069 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance4x8
= vpx_sub_pixel_avg_variance4x8_ssse3
;
1070 vpx_sub_pixel_avg_variance64x32
= vpx_sub_pixel_avg_variance64x32_sse2
;
1071 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance64x32
= vpx_sub_pixel_avg_variance64x32_ssse3
;
1072 vpx_sub_pixel_avg_variance64x64
= vpx_sub_pixel_avg_variance64x64_sse2
;
1073 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance64x64
= vpx_sub_pixel_avg_variance64x64_ssse3
;
1074 if (flags
& HAS_AVX2
) vpx_sub_pixel_avg_variance64x64
= vpx_sub_pixel_avg_variance64x64_avx2
;
1075 vpx_sub_pixel_avg_variance8x16
= vpx_sub_pixel_avg_variance8x16_sse2
;
1076 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance8x16
= vpx_sub_pixel_avg_variance8x16_ssse3
;
1077 vpx_sub_pixel_avg_variance8x4
= vpx_sub_pixel_avg_variance8x4_sse2
;
1078 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance8x4
= vpx_sub_pixel_avg_variance8x4_ssse3
;
1079 vpx_sub_pixel_avg_variance8x8
= vpx_sub_pixel_avg_variance8x8_sse2
;
1080 if (flags
& HAS_SSSE3
) vpx_sub_pixel_avg_variance8x8
= vpx_sub_pixel_avg_variance8x8_ssse3
;
1081 vpx_sub_pixel_variance16x16
= vpx_sub_pixel_variance16x16_sse2
;
1082 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance16x16
= vpx_sub_pixel_variance16x16_ssse3
;
1083 vpx_sub_pixel_variance16x32
= vpx_sub_pixel_variance16x32_sse2
;
1084 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance16x32
= vpx_sub_pixel_variance16x32_ssse3
;
1085 vpx_sub_pixel_variance16x8
= vpx_sub_pixel_variance16x8_sse2
;
1086 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance16x8
= vpx_sub_pixel_variance16x8_ssse3
;
1087 vpx_sub_pixel_variance32x16
= vpx_sub_pixel_variance32x16_sse2
;
1088 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance32x16
= vpx_sub_pixel_variance32x16_ssse3
;
1089 vpx_sub_pixel_variance32x32
= vpx_sub_pixel_variance32x32_sse2
;
1090 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance32x32
= vpx_sub_pixel_variance32x32_ssse3
;
1091 if (flags
& HAS_AVX2
) vpx_sub_pixel_variance32x32
= vpx_sub_pixel_variance32x32_avx2
;
1092 vpx_sub_pixel_variance32x64
= vpx_sub_pixel_variance32x64_sse2
;
1093 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance32x64
= vpx_sub_pixel_variance32x64_ssse3
;
1094 vpx_sub_pixel_variance4x4
= vpx_sub_pixel_variance4x4_sse
;
1095 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance4x4
= vpx_sub_pixel_variance4x4_ssse3
;
1096 vpx_sub_pixel_variance4x8
= vpx_sub_pixel_variance4x8_sse
;
1097 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance4x8
= vpx_sub_pixel_variance4x8_ssse3
;
1098 vpx_sub_pixel_variance64x32
= vpx_sub_pixel_variance64x32_sse2
;
1099 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance64x32
= vpx_sub_pixel_variance64x32_ssse3
;
1100 vpx_sub_pixel_variance64x64
= vpx_sub_pixel_variance64x64_sse2
;
1101 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance64x64
= vpx_sub_pixel_variance64x64_ssse3
;
1102 if (flags
& HAS_AVX2
) vpx_sub_pixel_variance64x64
= vpx_sub_pixel_variance64x64_avx2
;
1103 vpx_sub_pixel_variance8x16
= vpx_sub_pixel_variance8x16_sse2
;
1104 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance8x16
= vpx_sub_pixel_variance8x16_ssse3
;
1105 vpx_sub_pixel_variance8x4
= vpx_sub_pixel_variance8x4_sse2
;
1106 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance8x4
= vpx_sub_pixel_variance8x4_ssse3
;
1107 vpx_sub_pixel_variance8x8
= vpx_sub_pixel_variance8x8_sse2
;
1108 if (flags
& HAS_SSSE3
) vpx_sub_pixel_variance8x8
= vpx_sub_pixel_variance8x8_ssse3
;
1109 vpx_variance16x16
= vpx_variance16x16_sse2
;
1110 if (flags
& HAS_AVX2
) vpx_variance16x16
= vpx_variance16x16_avx2
;
1111 vpx_variance32x16
= vpx_variance32x16_sse2
;
1112 if (flags
& HAS_AVX2
) vpx_variance32x16
= vpx_variance32x16_avx2
;
1113 vpx_variance32x32
= vpx_variance32x32_sse2
;
1114 if (flags
& HAS_AVX2
) vpx_variance32x32
= vpx_variance32x32_avx2
;
1115 vpx_variance64x32
= vpx_variance64x32_sse2
;
1116 if (flags
& HAS_AVX2
) vpx_variance64x32
= vpx_variance64x32_avx2
;
1117 vpx_variance64x64
= vpx_variance64x64_sse2
;
1118 if (flags
& HAS_AVX2
) vpx_variance64x64
= vpx_variance64x64_avx2
;