1 // This file is generated. Do not edit.
2 #ifndef VPX_DSP_RTCD_H_
3 #define VPX_DSP_RTCD_H_
4
5 #ifdef RTCD_C
6 #define RTCD_EXTERN
7 #else
8 #define RTCD_EXTERN extern
9 #endif
10
11 /*
12 * DSP
13 */
14
15 #define HAS_MMX 0x001
16 #define HAS_SSE 0x002
17 #define HAS_SSE2 0x004
18 #define HAS_SSE3 0x008
19 #define HAS_SSSE3 0x010
20 #define HAS_SSE4_1 0x020
21 #define HAS_AVX 0x040
22 #define HAS_AVX2 0x080
23 #define HAS_AVX512 0x100
24
25 #define INLINE __inline
26
27 #include <stddef.h>
28 #include <stdint.h>
29 #include "vpx_dsp_common.h"
30 #include "vpx_filter.h"
31
32 #include "EbDefinitions.h"
33 #include "EbDefinitions.h"
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 unsigned int vpx_avg_4x4_c(const uint8_t *, int p);
40 unsigned int vpx_avg_4x4_sse2(const uint8_t *, int p);
41 RTCD_EXTERN unsigned int(*vpx_avg_4x4)(const uint8_t *, int p);
42
43 unsigned int vpx_avg_8x8_c(const uint8_t *, int p);
44 unsigned int vpx_avg_8x8_sse2(const uint8_t *, int p);
45 RTCD_EXTERN unsigned int(*vpx_avg_8x8)(const uint8_t *, int p);
46
47 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);
48 void vpx_comp_avg_pred_sse2(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride);
49 RTCD_EXTERN void(*vpx_comp_avg_pred)(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride);
50
51 // TT temporary untill we fix the linking error
52 void eb_vp9_filter_block1d8_v2_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
53 void eb_vp9_filter_block1d16_v2_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
54 void eb_vp9_filter_block1d4_v2_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
55 void eb_vp9_filter_block1d16_h2_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
56 void eb_vp9_filter_block1d8_h2_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
57 void eb_vp9_filter_block1d4_h2_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
58 void eb_vp9_filter_block1d16_v2_avg_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
59 void eb_vp9_filter_block1d16_h2_avg_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
60 void eb_vp9_filter_block1d8_v2_avg_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
61 void eb_vp9_filter_block1d8_h2_avg_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
62 void eb_vp9_filter_block1d4_v2_avg_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
63 void eb_vp9_filter_block1d4_h2_avg_ssse3(const uint8_t *src_ptr, ptrdiff_t src_pitch, uint8_t *output_ptr, ptrdiff_t out_pitch, uint32_t output_height, const int16_t *filter);
64
65 void eb_vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
66 void eb_vp9_convolve8_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
67 RTCD_EXTERN void(*eb_vp9_convolve8)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
68
69 void eb_vp9_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
70 void eb_vp9_convolve8_avg_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
71 RTCD_EXTERN void(*eb_vp9_convolve8_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
72
73 void eb_vp9_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
74 void eb_vp9_convolve8_avg_horiz_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
75 RTCD_EXTERN void(*eb_vp9_convolve8_avg_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
76
77 void eb_vp9_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
78 void eb_vp9_convolve8_avg_vert_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
79 RTCD_EXTERN void(*eb_vp9_convolve8_avg_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
80
81 void eb_vp9_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
82 void eb_vp9_convolve8_horiz_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
83 RTCD_EXTERN void(*eb_vp9_convolve8_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
84
85 void eb_vp9_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
86 void eb_vp9_convolve8_vert_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
87 RTCD_EXTERN void(*eb_vp9_convolve8_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
88
89 void eb_vp9_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
90 void vpx_convolve_avg_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
91 RTCD_EXTERN void(*vpx_convolve_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
92
93 void eb_vp9_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
94 void vpx_convolve_copy_avx2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
95 RTCD_EXTERN void(*vpx_convolve_copy)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
96
97 void eb_vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
98 void eb_vp9_d117_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
99 RTCD_EXTERN void(*eb_vp9_d117_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
100
101 void eb_vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
102 void eb_vp9_d117_predictor_32x32_avx2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
103 RTCD_EXTERN void(*eb_vp9_d117_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
104
105 void eb_vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
106 void eb_vp9_d117_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
107 RTCD_EXTERN void(*eb_vp9_d117_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
108
109 void eb_vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
110 void eb_vp9_d117_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
111 RTCD_EXTERN void(*eb_vp9_d117_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
112
113 void eb_vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
114 void eb_vp9_d135_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
115 RTCD_EXTERN void(*eb_vp9_d135_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
116
117 void eb_vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
118 void eb_vp9_d135_predictor_32x32_avx2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
119 RTCD_EXTERN void(*eb_vp9_d135_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
120
121 void eb_vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
122 void eb_vp9_d135_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
123 RTCD_EXTERN void(*eb_vp9_d135_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
124
125 void eb_vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
126 void eb_vp9_d135_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
127 RTCD_EXTERN void(*eb_vp9_d135_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
128
129 void eb_vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
130 void eb_vp9_d153_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
131
132 void eb_vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
133 void eb_vp9_d153_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
134 RTCD_EXTERN void(*eb_vp9_d153_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
135
136 void eb_vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
137 void eb_vp9_d153_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
138 RTCD_EXTERN void(*eb_vp9_d153_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
139
140 void eb_vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
141 void eb_vp9_d153_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
142 RTCD_EXTERN void(*eb_vp9_d153_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
143
144 void eb_vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
145 void eb_vp9_d153_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
146 RTCD_EXTERN void(*eb_vp9_d153_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
147
148 void eb_vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
149 void eb_vp9_d207_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
150 RTCD_EXTERN void(*eb_vp9_d207_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
151
152 void eb_vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
153 void eb_vp9_d207_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
154 RTCD_EXTERN void(*eb_vp9_d207_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
155
156 void eb_vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
157 void eb_vp9_d207_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
158 RTCD_EXTERN void(*eb_vp9_d207_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
159
160 void eb_vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
161 void eb_vp9_d207_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
162 RTCD_EXTERN void(*eb_vp9_d207_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
163
164 void eb_vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
165 void eb_vp9_d45_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
166 RTCD_EXTERN void(*eb_vp9_d45_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
167
168 void eb_vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
169 void eb_vp9_d45_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
170 RTCD_EXTERN void(*eb_vp9_d45_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
171
172 void eb_vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
173 void eb_vp9_d45_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
174 RTCD_EXTERN void(*eb_vp9_d45_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
175
176 void eb_vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
177 void eb_vp9_d45_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
178 RTCD_EXTERN void(*eb_vp9_d45_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
179
180 void eb_vp9_d45e_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
181 RTCD_EXTERN void(*eb_vp9_d45e_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
182
183 void eb_vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
184 void eb_vp9_d63_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
185 RTCD_EXTERN void(*eb_vp9_d63_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
186
187 void eb_vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
188 void eb_vp9_d63_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
189 RTCD_EXTERN void(*eb_vp9_d63_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
190
191 void eb_vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
192 void eb_vp9_d63_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
193 RTCD_EXTERN void(*eb_vp9_d63_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
194
195 void eb_vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
196 void eb_vp9_d63_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
197 RTCD_EXTERN void(*eb_vp9_d63_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
198
199 void eb_vp9_d63e_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
200 RTCD_EXTERN void(*eb_vp9_d63e_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
201
202 void eb_vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
203 void eb_vp9_dc_128_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
204 RTCD_EXTERN void(*eb_vp9_dc_128_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
205
206 void eb_vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
207 void eb_vp9_dc_128_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
208 RTCD_EXTERN void(*eb_vp9_dc_128_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
209
210 void eb_vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
211 void eb_vp9_dc_128_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
212 RTCD_EXTERN void(*eb_vp9_dc_128_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
213
214 void eb_vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
215 void eb_vp9_dc_128_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
216 RTCD_EXTERN void(*eb_vp9_dc_128_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
217
218 void eb_vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
219 void eb_vp9_dc_left_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
220 RTCD_EXTERN void(*eb_vp9_dc_left_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
221
222 void eb_vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
223 void eb_vp9_dc_left_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
224 RTCD_EXTERN void(*eb_vp9_dc_left_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
225
226 void eb_vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
227 void eb_vp9_dc_left_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
228 RTCD_EXTERN void(*eb_vp9_dc_left_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
229
230 void eb_vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
231 void eb_vp9_dc_left_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
232 RTCD_EXTERN void(*eb_vp9_dc_left_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
233
234 void eb_vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
235 void eb_vp9_dc_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
236 RTCD_EXTERN void(*eb_vp9_dc_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
237
238 void eb_vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
239 void eb_vp9_dc_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
240 RTCD_EXTERN void(*eb_vp9_dc_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
241
242 void eb_vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
243 void eb_vp9_dc_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
244 RTCD_EXTERN void(*eb_vp9_dc_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
245
246 void eb_vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
247 void eb_vp9_dc_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
248 RTCD_EXTERN void(*eb_vp9_dc_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
249
250 void eb_vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
251 void eb_vp9_dc_top_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
252 RTCD_EXTERN void(*eb_vp9_dc_top_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
253
254 void eb_vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
255 void eb_vp9_dc_top_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
256 RTCD_EXTERN void(*eb_vp9_dc_top_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
257
258 void eb_vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
259 void eb_vp9_dc_top_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
260 RTCD_EXTERN void(*eb_vp9_dc_top_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
261
262 void eb_vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
263 void eb_vp9_dc_top_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
264 RTCD_EXTERN void(*eb_vp9_dc_top_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
265
266 void eb_vp9_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
267 void vpx_fdct16x16_avx2(const int16_t *input, tran_low_t *output, int stride);
268 RTCD_EXTERN void(*vpx_fdct16x16)(const int16_t *input, tran_low_t *output, int stride);
269
270 #if 0
271 void eb_vp9_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
272 void vpx_fdct16x16_1_sse2(const int16_t *input, tran_low_t *output, int stride);
273 RTCD_EXTERN void(*vpx_fdct16x16_1)(const int16_t *input, tran_low_t *output, int stride);
274 #endif
275 void eb_vp9_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
276 void eb_vp9_fdct32x32_avx2(const int16_t *input, tran_low_t *output, int stride);
277 RTCD_EXTERN void(*eb_vp9_fdct32x32)(const int16_t *input, tran_low_t *output, int stride);
278
279 void vpx_partial_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
280 void vpx_partial_fdct32x32_avx2(const int16_t *input, tran_low_t *output, int stride);
281 RTCD_EXTERN void(*vpx_partial_fdct32x32)(const int16_t *input, tran_low_t *output, int stride);
282
283 #if 0
284 void eb_vp9_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
285 void eb_vp9_fdct32x32_1_sse2(const int16_t *input, tran_low_t *output, int stride);
286 RTCD_EXTERN void(*eb_vp9_fdct32x32_1)(const int16_t *input, tran_low_t *output, int stride);
287
288 void eb_vp9_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
289 void eb_vp9_fdct32x32_rd_avx2(const int16_t *input, tran_low_t *output, int stride);
290 RTCD_EXTERN void(*eb_vp9_fdct32x32_rd)(const int16_t *input, tran_low_t *output, int stride);
291 #endif
292 void eb_vp9_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
293 void eb_vp9_fdct4x4_sse2(const int16_t *input, tran_low_t *output, int stride);
294 RTCD_EXTERN void(*vpx_fdct4x4)(const int16_t *input, tran_low_t *output, int stride);
295
296 #if 0
297 void eb_vp9_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
298 void vpx_fdct4x4_1_sse2(const int16_t *input, tran_low_t *output, int stride);
299 RTCD_EXTERN void(*vpx_fdct4x4_1)(const int16_t *input, tran_low_t *output, int stride);
300 #endif
301 void eb_vp9_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
302 void vpx_fdct8x8_avx2(const int16_t *input, tran_low_t *output, int stride);
303 RTCD_EXTERN void(*vpx_fdct8x8)(const int16_t *input, tran_low_t *output, int stride);
304
305 #if 0
306 void eb_vp9_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
307 void vpx_fdct8x8_1_sse2(const int16_t *input, tran_low_t *output, int stride);
308 RTCD_EXTERN void(*vpx_fdct8x8_1)(const int16_t *input, tran_low_t *output, int stride);
309
310 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);
311 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);
312 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);
313
314 unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
315 RTCD_EXTERN unsigned int(*vpx_get4x4sse_cs)(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
316
317 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);
318 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);
319 RTCD_EXTERN void(*vpx_get8x8var)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
320
321 unsigned int vpx_get_mb_ss_c(const int16_t *);
322 unsigned int vpx_get_mb_ss_sse2(const int16_t *);
323 RTCD_EXTERN unsigned int(*vpx_get_mb_ss)(const int16_t *);
324 #endif
325
326 void eb_vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
327 void eb_vp9_h_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
328 RTCD_EXTERN void(*eb_vp9_h_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
329
330 void eb_vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
331 void eb_vp9_h_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
332 RTCD_EXTERN void(*eb_vp9_h_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
333
334 void eb_vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
335 void eb_vp9_h_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
336 RTCD_EXTERN void(*eb_vp9_h_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
337
338 void eb_vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
339 void eb_vp9_h_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
340 RTCD_EXTERN void(*eb_vp9_h_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
341
342 #if 0
343 void vpx_hadamard_16x16_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff);
344
345 void vpx_hadamard_16x16_avx2(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff);
346 RTCD_EXTERN void(*vpx_hadamard_16x16)(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff);
347
348 void vpx_hadamard_32x32_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff);
349 void vpx_hadamard_32x32_avx2(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff);
350 RTCD_EXTERN void(*vpx_hadamard_32x32)(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff);
351
352 void vpx_hadamard_8x8_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff);
353 void vpx_hadamard_8x8_sse2(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff);
354 RTCD_EXTERN void(*vpx_hadamard_8x8)(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff);
355
356 void eb_vp9_he_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
357 RTCD_EXTERN void(*vpx_he_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
358 #endif
359 void eb_vp9_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int stride);
360 void eb_vp9_idct16x16_10_add_sse2(const tran_low_t *input, uint8_t *dest, int stride);
361 RTCD_EXTERN void(*vpx_idct16x16_10_add)(const tran_low_t *input, uint8_t *dest, int stride);
362
363 void eb_vp9_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
364 void eb_vp9_idct16x16_1_add_sse2(const tran_low_t *input, uint8_t *dest, int stride);
365 RTCD_EXTERN void(*vpx_idct16x16_1_add)(const tran_low_t *input, uint8_t *dest, int stride);
366
367 void eb_vp9_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int stride);
368 void eb_vp9_idct16x16_256_add_sse2(const tran_low_t *input, uint8_t *dest, int stride);
369 RTCD_EXTERN void(*vpx_idct16x16_256_add)(const tran_low_t *input, uint8_t *dest, int stride);
370
371 void eb_vp9_idct16x16_38_add_c(const tran_low_t *input, uint8_t *dest, int stride);
372 void eb_vp9_idct16x16_38_add_sse2(const tran_low_t *input, uint8_t *dest, int stride);
373 RTCD_EXTERN void(*vpx_idct16x16_38_add)(const tran_low_t *input, uint8_t *dest, int stride);
374
375 void eb_vp9_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int stride);
376 void vpx_idct32x32_1024_add_avx2(const tran_low_t *input, uint8_t *dest, int stride);
377 RTCD_EXTERN void(*vpx_idct32x32_1024_add)(const tran_low_t *input, uint8_t *dest, int stride);
378
379 void eb_vp9_idct32x32_135_add_c(const tran_low_t *input, uint8_t *dest, int stride);
380 void eb_vp9_idct32x32_135_add_avx2(const tran_low_t *input, uint8_t *dest, int stride);
381 RTCD_EXTERN void(*eb_vp9_idct32x32_135_add)(const tran_low_t *input, uint8_t *dest, int stride);
382
383 void eb_vp9_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
384 void vpx_idct32x32_1_add_avx2(const tran_low_t *input, uint8_t *dest, int stride);
385 RTCD_EXTERN void(*vpx_idct32x32_1_add)(const tran_low_t *input, uint8_t *dest, int stride);
386
387 void eb_vp9_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int stride);
388 void eb_vp9_idct32x32_34_add_avx2(const tran_low_t *input, uint8_t *dest, int stride);
389 RTCD_EXTERN void(*eb_vp9_idct32x32_34_add)(const tran_low_t *input, uint8_t *dest, int stride);
390
391 void eb_vp9_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride);
392 void eb_vp9_idct4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int stride);
393 RTCD_EXTERN void(*vpx_idct4x4_16_add)(const tran_low_t *input, uint8_t *dest, int stride);
394
395 void eb_vp9_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
396 void eb_vp9_idct4x4_1_add_sse2(const tran_low_t *input, uint8_t *dest, int stride);
397 RTCD_EXTERN void(*vpx_idct4x4_1_add)(const tran_low_t *input, uint8_t *dest, int stride);
398
399 void eb_vp9_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int stride);
400 void eb_vp9_idct8x8_12_add_ssse3(const tran_low_t *input, uint8_t *dest, int stride);
401 RTCD_EXTERN void(*eb_vp9_idct8x8_12_add)(const tran_low_t *input, uint8_t *dest, int stride);
402
403 void eb_vp9_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
404 void eb_vp9_idct8x8_1_add_sse2(const tran_low_t *input, uint8_t *dest, int stride);
405 RTCD_EXTERN void(*vpx_idct8x8_1_add)(const tran_low_t *input, uint8_t *dest, int stride);
406
407 void eb_vp9_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int stride);
408 void eb_vp9_idct8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int stride);
409 RTCD_EXTERN void(*vpx_idct8x8_64_add)(const tran_low_t *input, uint8_t *dest, int stride);
410
411 int16_t vpx_int_pro_col_c(const uint8_t *ref, const int width);
412 int16_t vpx_int_pro_col_sse2(const uint8_t *ref, const int width);
413 RTCD_EXTERN int16_t(*vpx_int_pro_col)(const uint8_t *ref, const int width);
414
415 void vpx_int_pro_row_c(int16_t *hbuf, const uint8_t *ref, const int ref_stride, const int height);
416 void vpx_int_pro_row_sse2(int16_t *hbuf, const uint8_t *ref, const int ref_stride, const int height);
417 RTCD_EXTERN void(*vpx_int_pro_row)(int16_t *hbuf, const uint8_t *ref, const int ref_stride, const int height);
418
419 void eb_vp9_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride);
420 void vpx_iwht4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int stride);
421 RTCD_EXTERN void(*vpx_iwht4x4_16_add)(const tran_low_t *input, uint8_t *dest, int stride);
422
423 void eb_vp9_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
424 RTCD_EXTERN void(*vpx_iwht4x4_1_add)(const tran_low_t *input, uint8_t *dest, int stride);
425
426 void eb_vp9_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
427 void eb_vp9_lpf_horizontal_16_avx2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
428 RTCD_EXTERN void(*eb_vp9_lpf_horizontal_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
429
430 void eb_vp9_lpf_horizontal_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
431 void eb_vp9_lpf_horizontal_16_dual_avx2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
432 RTCD_EXTERN void(*eb_vp9_lpf_horizontal_16_dual)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
433
434 #if 1
435 void eb_vp9_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
436 void eb_vp9_lpf_horizontal_4_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
437 RTCD_EXTERN void(*vpx_lpf_horizontal_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
438
439 void eb_vp9_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);
440 void eb_vp9_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);
441 RTCD_EXTERN void(*vpx_lpf_horizontal_4_dual)(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);
442
443 void eb_vp9_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
444 void eb_vp9_lpf_horizontal_8_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
445 RTCD_EXTERN void(*vpx_lpf_horizontal_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
446
447 void eb_vp9_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);
448 void eb_vp9_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);
449 RTCD_EXTERN void(*vpx_lpf_horizontal_8_dual)(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);
450
451 void eb_vp9_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
452 void eb_vp9_lpf_vertical_16_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
453 RTCD_EXTERN void(*vpx_lpf_vertical_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
454
455 void eb_vp9_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
456 void vpx_lpf_vertical_16_dual_avx2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
457
458 RTCD_EXTERN void(*vpx_lpf_vertical_16_dual)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
459
460 void eb_vp9_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
461 void eb_vp9_lpf_vertical_4_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
462 RTCD_EXTERN void(*vpx_lpf_vertical_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
463
464 void eb_vp9_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);
465 void eb_vp9_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);
466 RTCD_EXTERN void(*vpx_lpf_vertical_4_dual)(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);
467
468 void eb_vp9_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
469 void eb_vp9_lpf_vertical_8_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
470 RTCD_EXTERN void(*vpx_lpf_vertical_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
471
472 void eb_vp9_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);
473 void eb_vp9_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);
474 RTCD_EXTERN void(*vpx_lpf_vertical_8_dual)(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);
475
476 void vpx_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int cols, int flimit);
477 void vpx_mbpost_proc_across_ip_sse2(unsigned char *dst, int pitch, int rows, int cols, int flimit);
478 RTCD_EXTERN void(*vpx_mbpost_proc_across_ip)(unsigned char *dst, int pitch, int rows, int cols, int flimit);
479
480 void vpx_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols, int flimit);
481 void vpx_mbpost_proc_down_sse2(unsigned char *dst, int pitch, int rows, int cols, int flimit);
482 RTCD_EXTERN void(*vpx_mbpost_proc_down)(unsigned char *dst, int pitch, int rows, int cols, int flimit);
483
484 void vpx_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
485 void vpx_minmax_8x8_sse2(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
486 RTCD_EXTERN void(*vpx_minmax_8x8)(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
487
488 unsigned int eb_vp9_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
489 unsigned int eb_vp9_mse16x16_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
490 RTCD_EXTERN unsigned int(*eb_vp9_mse16x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
491
492 unsigned int eb_vp9_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
493 unsigned int eb_vp9_mse16x8_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
494 RTCD_EXTERN unsigned int(*eb_vp9_mse16x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
495
496 unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
497 unsigned int vpx_mse8x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
498 RTCD_EXTERN unsigned int(*vpx_mse8x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
499
500 unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
501 unsigned int vpx_mse8x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
502 RTCD_EXTERN unsigned int(*vpx_mse8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
503
504 void vpx_plane_add_noise_c(uint8_t *start, const int8_t *noise, int blackclamp, int whiteclamp, int width, int height, int pitch);
505 void vpx_plane_add_noise_sse2(uint8_t *start, const int8_t *noise, int blackclamp, int whiteclamp, int width, int height, int pitch);
506 RTCD_EXTERN void(*vpx_plane_add_noise)(uint8_t *start, const int8_t *noise, int blackclamp, int whiteclamp, int width, int height, int pitch);
507
508 void vpx_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
509 void vpx_post_proc_down_and_across_mb_row_sse2(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
510 RTCD_EXTERN void(*vpx_post_proc_down_and_across_mb_row)(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size);
511 #endif
512 void eb_vp9_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);
513 void eb_vp9_quantize_b_avx(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);
514 RTCD_EXTERN void(*eb_vp9_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);
515
516 void eb_vp9_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);
517 void eb_vp9_quantize_b_32x32_avx(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);
518 RTCD_EXTERN void(*eb_vp9_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);
519
520 #if 0
521 unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
522 unsigned int vpx_sad16x16_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
523 RTCD_EXTERN unsigned int(*vpx_sad16x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
524
525 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);
526 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);
527 RTCD_EXTERN unsigned int(*vpx_sad16x16_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
528
529 void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
530 void vpx_sad16x16x3_ssse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
531 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);
532
533 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);
534 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);
535 RTCD_EXTERN void(*vpx_sad16x16x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
536
537 void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
538 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);
539 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);
540
541 unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
542 unsigned int vpx_sad16x32_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
543 RTCD_EXTERN unsigned int(*vpx_sad16x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
544
545 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);
546 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);
547 RTCD_EXTERN unsigned int(*vpx_sad16x32_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
548
549 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);
550 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);
551 RTCD_EXTERN void(*vpx_sad16x32x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
552
553 unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
554 unsigned int vpx_sad16x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
555 RTCD_EXTERN unsigned int(*vpx_sad16x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
556
557 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);
558 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);
559 RTCD_EXTERN unsigned int(*vpx_sad16x8_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
560
561 void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
562 void vpx_sad16x8x3_ssse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
563 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);
564
565 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);
566 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);
567 RTCD_EXTERN void(*vpx_sad16x8x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
568
569 void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
570 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);
571 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);
572
573 unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
574 unsigned int vpx_sad32x16_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
575 RTCD_EXTERN unsigned int(*vpx_sad32x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
576
577 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);
578 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);
579 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);
580
581 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);
582 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);
583 RTCD_EXTERN void(*vpx_sad32x16x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
584
585 unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
586 unsigned int vpx_sad32x32_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
587 RTCD_EXTERN unsigned int(*vpx_sad32x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
588
589 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);
590 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);
591 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);
592
593 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);
594 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);
595 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);
596
597 unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
598 unsigned int vpx_sad32x64_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
599 RTCD_EXTERN unsigned int(*vpx_sad32x64)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
600
601 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);
602 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);
603 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);
604
605 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);
606 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);
607 RTCD_EXTERN void(*vpx_sad32x64x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
608
609 unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
610 unsigned int vpx_sad4x4_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
611 RTCD_EXTERN unsigned int(*vpx_sad4x4)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
612
613 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);
614 unsigned int vpx_sad4x4_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
615 RTCD_EXTERN unsigned int(*vpx_sad4x4_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
616
617 void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
618 void vpx_sad4x4x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
619 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);
620
621 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);
622 void vpx_sad4x4x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
623 RTCD_EXTERN void(*vpx_sad4x4x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
624
625 void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
626 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);
627 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);
628
629 unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
630 unsigned int vpx_sad4x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
631 RTCD_EXTERN unsigned int(*vpx_sad4x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
632
633 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);
634 unsigned int vpx_sad4x8_avg_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
635 RTCD_EXTERN unsigned int(*vpx_sad4x8_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
636
637 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);
638 void vpx_sad4x8x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
639 RTCD_EXTERN void(*vpx_sad4x8x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
640
641 unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
642 unsigned int vpx_sad64x32_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
643 RTCD_EXTERN unsigned int(*vpx_sad64x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
644
645 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);
646 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);
647 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);
648
649 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);
650 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);
651 RTCD_EXTERN void(*vpx_sad64x32x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
652
653 unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
654 unsigned int vpx_sad64x64_avx2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
655 RTCD_EXTERN unsigned int(*vpx_sad64x64)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
656
657 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);
658 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);
659 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);
660
661 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);
662 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);
663 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);
664
665 unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
666 unsigned int vpx_sad8x16_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
667 RTCD_EXTERN unsigned int(*vpx_sad8x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
668
669 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);
670 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);
671 RTCD_EXTERN unsigned int(*vpx_sad8x16_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
672
673 void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
674 void vpx_sad8x16x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
675 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);
676
677 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);
678 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);
679 RTCD_EXTERN void(*vpx_sad8x16x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
680
681 void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
682 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);
683 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);
684
685 unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
686 unsigned int vpx_sad8x4_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
687 RTCD_EXTERN unsigned int(*vpx_sad8x4)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
688
689 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);
690 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);
691 RTCD_EXTERN unsigned int(*vpx_sad8x4_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
692
693 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);
694 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);
695 RTCD_EXTERN void(*vpx_sad8x4x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
696
697 unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
698 unsigned int vpx_sad8x8_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
699 RTCD_EXTERN unsigned int(*vpx_sad8x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
700
701 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);
702 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);
703 RTCD_EXTERN unsigned int(*vpx_sad8x8_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
704
705 void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
706 void vpx_sad8x8x3_sse3(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
707 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);
708
709 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);
710 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);
711 RTCD_EXTERN void(*vpx_sad8x8x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
712
713 void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
714 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);
715 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);
716
717 int vpx_satd_c(const int16_t *coeff, int length);
718 int vpx_satd_avx2(const int16_t *coeff, int length);
719 RTCD_EXTERN int(*vpx_satd)(const int16_t *coeff, int length);
720
721 void eb_vp9_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
722 void vpx_scaled_2d_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
723 RTCD_EXTERN void(*vpx_scaled_2d)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
724
725 void eb_vp9_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
726 RTCD_EXTERN void(*vpx_scaled_avg_2d)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);;
727
728 void eb_vp9_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
729 RTCD_EXTERN void(*vpx_scaled_avg_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
730
731 void eb_vp9_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
732 RTCD_EXTERN void(*vpx_scaled_avg_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
733
734 void eb_vp9_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
735 RTCD_EXTERN void(*vpx_scaled_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
736
737 void eb_vp9_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
738 RTCD_EXTERN void(*vpx_scaled_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h);
739
740 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);
741 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);
742 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);
743
744 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);
745 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);
746 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);
747
748 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);
749 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);
750 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);
751
752 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);
753 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);
754 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);
755
756 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);
757 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);
758 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);
759
760 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);
761 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);
762 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);
763
764 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);
765 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);
766 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);
767
768 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);
769 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);
770 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);
771
772 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);
773 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);
774 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);
775
776 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);
777 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);
778 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);
779
780 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);
781 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);
782 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);
783
784 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);
785 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);
786 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);
787
788 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);
789 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);
790 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);
791
792 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);
793 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);
794 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);
795
796 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);
797 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);
798 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);
799
800 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);
801 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);
802 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);
803
804 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);
805 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);
806 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);
807
808 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);
809 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);
810 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);
811
812 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);
813 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);
814 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);
815
816 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);
817 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);
818 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);
819
820 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);
821 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);
822 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);
823
824 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);
825 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);
826 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);
827
828 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);
829 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);
830 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);
831
832 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);
833 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);
834 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);
835
836 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);
837 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);
838 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);
839
840 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);
841 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);
842 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);
843 #endif
844 void eb_vp9_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);
845 void eb_vp9_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);
846 RTCD_EXTERN void(*vpx_subtract_block)(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);
847
848 #if 0
849 uint64_t vpx_sum_squares_2d_i16_c(const int16_t *src, int stride, int size);
850 uint64_t vpx_sum_squares_2d_i16_sse2(const int16_t *src, int stride, int size);
851 RTCD_EXTERN uint64_t(*vpx_sum_squares_2d_i16)(const int16_t *src, int stride, int size);
852 #endif
853 void eb_vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
854 void eb_vp9_tm_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
855 RTCD_EXTERN void(*eb_vp9_tm_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
856
857 void eb_vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
858 void eb_vp9_tm_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
859 RTCD_EXTERN void(*eb_vp9_tm_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
860
861 void eb_vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
862 void eb_vp9_tm_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
863 RTCD_EXTERN void(*eb_vp9_tm_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
864
865 void eb_vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
866 void eb_vp9_tm_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
867 RTCD_EXTERN void(*eb_vp9_tm_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
868
869 void eb_vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
870 void eb_vp9_v_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
871 RTCD_EXTERN void(*eb_vp9_v_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
872
873 void eb_vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
874 void eb_vp9_v_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
875 RTCD_EXTERN void(*eb_vp9_v_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
876
877 void eb_vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
878 void eb_vp9_v_predictor_4x4_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
879 RTCD_EXTERN void(*eb_vp9_v_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
880
881 void eb_vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
882 void eb_vp9_v_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
883 RTCD_EXTERN void(*eb_vp9_v_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
884
885 #if 0
886 unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
887 unsigned int vpx_variance16x16_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
888 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);
889
890 unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
891 unsigned int vpx_variance16x32_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
892 RTCD_EXTERN unsigned int(*vpx_variance16x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
893
894 unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
895 unsigned int vpx_variance16x8_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
896 RTCD_EXTERN unsigned int(*vpx_variance16x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
897
898 unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
899 unsigned int vpx_variance32x16_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
900 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);
901
902 unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
903 unsigned int vpx_variance32x32_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
904 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);
905
906 unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
907 unsigned int vpx_variance32x64_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
908 RTCD_EXTERN unsigned int(*vpx_variance32x64)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
909
910 unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
911 unsigned int vpx_variance4x4_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
912 RTCD_EXTERN unsigned int(*vpx_variance4x4)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
913
914 unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
915 unsigned int vpx_variance4x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
916 RTCD_EXTERN unsigned int(*vpx_variance4x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
917
918 unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
919 unsigned int vpx_variance64x32_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
920 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);
921
922 unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
923 unsigned int vpx_variance64x64_avx2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
924 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);
925
926 unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
927 unsigned int vpx_variance8x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
928 RTCD_EXTERN unsigned int(*vpx_variance8x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
929
930 unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
931 unsigned int vpx_variance8x4_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
932 RTCD_EXTERN unsigned int(*vpx_variance8x4)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
933
934 unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
935 unsigned int vpx_variance8x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
936 RTCD_EXTERN unsigned int(*vpx_variance8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
937
938 void eb_vp9_ve_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
939 RTCD_EXTERN void(*vpx_ve_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
940
941 int vpx_vector_var_c(const int16_t *ref, const int16_t *src, const int bwl);
942 int vpx_vector_var_sse2(const int16_t *ref, const int16_t *src, const int bwl);
943 RTCD_EXTERN int(*vpx_vector_var)(const int16_t *ref, const int16_t *src, const int bwl);
944
945 void vpx_dsp_rtcd(void);
946 #endif
947
948 #ifdef RTCD_C
949
setup_rtcd_internal(uint32_t asm_type)950 static void setup_rtcd_internal(uint32_t asm_type)
951 {
952 #if 1
953
954 int flags = 0;
955
956 if (asm_type > AVX2_MASK)
957 {
958 flags |= HAS_AVX2;
959 flags |= HAS_AVX;
960 flags |= HAS_SSE4_1;
961 flags |= HAS_SSSE3;
962 flags |= HAS_SSE3;
963 flags |= HAS_SSE2;
964 flags |= HAS_SSE;
965 flags |= HAS_MMX;
966 }
967 else if (asm_type > PREAVX2_MASK)
968 {
969 flags |= HAS_AVX;
970 flags |= HAS_SSE4_1;
971 flags |= HAS_SSSE3;
972 flags |= HAS_SSE3;
973 flags |= HAS_SSE2;
974 flags |= HAS_SSE;
975 flags |= HAS_MMX;
976 }
977
978 #if 0
979 vpx_avg_4x4 = vpx_avg_4x4_c;
980 if (flags & HAS_SSE2) vpx_avg_4x4 = vpx_avg_4x4_sse2;
981 vpx_avg_8x8 = vpx_avg_8x8_c;
982 if (flags & HAS_SSE2) vpx_avg_8x8 = vpx_avg_8x8_sse2;
983 vpx_comp_avg_pred = vpx_comp_avg_pred_c;
984 if (flags & HAS_SSE2) vpx_comp_avg_pred = vpx_comp_avg_pred_sse2;
985 #endif
986 eb_vp9_convolve8 = eb_vp9_convolve8_c;
987 if (flags & HAS_AVX2) eb_vp9_convolve8 = eb_vp9_convolve8_avx2;
988 eb_vp9_convolve8_avg = eb_vp9_convolve8_avg_c;
989 if (flags & HAS_AVX2) eb_vp9_convolve8_avg = eb_vp9_convolve8_avg_avx2;
990 eb_vp9_convolve8_avg_horiz = eb_vp9_convolve8_avg_horiz_c;
991 if (flags & HAS_AVX2) eb_vp9_convolve8_avg_horiz = eb_vp9_convolve8_avg_horiz_avx2;
992 eb_vp9_convolve8_avg_vert = eb_vp9_convolve8_avg_vert_c;
993 if (flags & HAS_AVX2) eb_vp9_convolve8_avg_vert = eb_vp9_convolve8_avg_vert_avx2;
994 eb_vp9_convolve8_horiz = eb_vp9_convolve8_horiz_c;
995 if (flags & HAS_AVX2) eb_vp9_convolve8_horiz = eb_vp9_convolve8_horiz_avx2;
996 eb_vp9_convolve8_vert = eb_vp9_convolve8_vert_c;
997 if (flags & HAS_AVX2) eb_vp9_convolve8_vert = eb_vp9_convolve8_vert_avx2;
998 vpx_convolve_avg = eb_vp9_convolve_avg_c;
999 if (flags & HAS_AVX2) vpx_convolve_avg = vpx_convolve_avg_avx2;
1000 vpx_convolve_copy = eb_vp9_convolve_copy_c;
1001 if (flags & HAS_AVX2) vpx_convolve_copy = vpx_convolve_copy_avx2;
1002 eb_vp9_d117_predictor_4x4 = eb_vp9_d117_predictor_4x4_c;
1003 if (flags & HAS_SSSE3) eb_vp9_d117_predictor_4x4 = eb_vp9_d117_predictor_4x4_ssse3;
1004 eb_vp9_d117_predictor_8x8 = eb_vp9_d117_predictor_8x8_c;
1005 if (flags & HAS_SSSE3) eb_vp9_d117_predictor_8x8 = eb_vp9_d117_predictor_8x8_ssse3;
1006 eb_vp9_d117_predictor_16x16 = eb_vp9_d117_predictor_16x16_c;
1007 if (flags & HAS_SSSE3) eb_vp9_d117_predictor_16x16 = eb_vp9_d117_predictor_16x16_ssse3;
1008 eb_vp9_d117_predictor_32x32 = eb_vp9_d117_predictor_32x32_c;
1009 if (flags & HAS_AVX2) eb_vp9_d117_predictor_32x32 = eb_vp9_d117_predictor_32x32_avx2;
1010 eb_vp9_d135_predictor_4x4 = eb_vp9_d135_predictor_4x4_c;
1011 if (flags & HAS_SSSE3) eb_vp9_d135_predictor_4x4 = eb_vp9_d135_predictor_4x4_ssse3;
1012 eb_vp9_d135_predictor_8x8 = eb_vp9_d135_predictor_8x8_c;
1013 if (flags & HAS_SSSE3) eb_vp9_d135_predictor_8x8 = eb_vp9_d135_predictor_8x8_ssse3;
1014 eb_vp9_d135_predictor_16x16 = eb_vp9_d135_predictor_16x16_c;
1015 if (flags & HAS_SSSE3) eb_vp9_d135_predictor_16x16 = eb_vp9_d135_predictor_16x16_ssse3;
1016 eb_vp9_d135_predictor_32x32 = eb_vp9_d135_predictor_32x32_c;
1017 if (flags & HAS_AVX2) eb_vp9_d135_predictor_32x32 = eb_vp9_d135_predictor_32x32_avx2;
1018 eb_vp9_d153_predictor_16x16 = eb_vp9_d153_predictor_16x16_c;
1019 if (flags & HAS_SSSE3) eb_vp9_d153_predictor_16x16 = eb_vp9_d153_predictor_16x16_ssse3;
1020 eb_vp9_d153_predictor_32x32 = eb_vp9_d153_predictor_32x32_c;
1021 if (flags & HAS_SSSE3) eb_vp9_d153_predictor_32x32 = eb_vp9_d153_predictor_32x32_ssse3;
1022 eb_vp9_d153_predictor_4x4 = eb_vp9_d153_predictor_4x4_c;
1023 if (flags & HAS_SSSE3) eb_vp9_d153_predictor_4x4 = eb_vp9_d153_predictor_4x4_ssse3;
1024 eb_vp9_d153_predictor_8x8 = eb_vp9_d153_predictor_8x8_c;
1025 if (flags & HAS_SSSE3) eb_vp9_d153_predictor_8x8 = eb_vp9_d153_predictor_8x8_ssse3;
1026 eb_vp9_d207_predictor_16x16 = eb_vp9_d207_predictor_16x16_c;
1027 if (flags & HAS_SSSE3) eb_vp9_d207_predictor_16x16 = eb_vp9_d207_predictor_16x16_ssse3;
1028 eb_vp9_d207_predictor_32x32 = eb_vp9_d207_predictor_32x32_c;
1029 if (flags & HAS_SSSE3) eb_vp9_d207_predictor_32x32 = eb_vp9_d207_predictor_32x32_ssse3;
1030 eb_vp9_d207_predictor_4x4 = eb_vp9_d207_predictor_4x4_c;
1031 if (flags & HAS_SSE2) eb_vp9_d207_predictor_4x4 = eb_vp9_d207_predictor_4x4_sse2;
1032 eb_vp9_d207_predictor_8x8 = eb_vp9_d207_predictor_8x8_c;
1033 if (flags & HAS_SSSE3) eb_vp9_d207_predictor_8x8 = eb_vp9_d207_predictor_8x8_ssse3;
1034 eb_vp9_d45_predictor_16x16 = eb_vp9_d45_predictor_16x16_c;
1035 if (flags & HAS_SSSE3) eb_vp9_d45_predictor_16x16 = eb_vp9_d45_predictor_16x16_ssse3;
1036 eb_vp9_d45_predictor_32x32 = eb_vp9_d45_predictor_32x32_c;
1037 if (flags & HAS_SSSE3) eb_vp9_d45_predictor_32x32 = eb_vp9_d45_predictor_32x32_ssse3;
1038 eb_vp9_d45_predictor_4x4 = eb_vp9_d45_predictor_4x4_c;
1039 if (flags & HAS_SSE2) eb_vp9_d45_predictor_4x4 = eb_vp9_d45_predictor_4x4_sse2;
1040 eb_vp9_d45_predictor_8x8 = eb_vp9_d45_predictor_8x8_c;
1041 if (flags & HAS_SSE2) eb_vp9_d45_predictor_8x8 = eb_vp9_d45_predictor_8x8_sse2;
1042 eb_vp9_d45e_predictor_4x4 = eb_vp9_d45e_predictor_4x4_c;
1043 eb_vp9_d63_predictor_16x16 = eb_vp9_d63_predictor_16x16_c;
1044 if (flags & HAS_SSSE3) eb_vp9_d63_predictor_16x16 = eb_vp9_d63_predictor_16x16_ssse3;
1045 eb_vp9_d63_predictor_32x32 = eb_vp9_d63_predictor_32x32_c;
1046 if (flags & HAS_SSSE3) eb_vp9_d63_predictor_32x32 = eb_vp9_d63_predictor_32x32_ssse3;
1047 eb_vp9_d63_predictor_4x4 = eb_vp9_d63_predictor_4x4_c;
1048 if (flags & HAS_SSSE3) eb_vp9_d63_predictor_4x4 = eb_vp9_d63_predictor_4x4_ssse3;
1049 eb_vp9_d63_predictor_8x8 = eb_vp9_d63_predictor_8x8_c;
1050 if (flags & HAS_SSSE3) eb_vp9_d63_predictor_8x8 = eb_vp9_d63_predictor_8x8_ssse3;
1051 eb_vp9_d63e_predictor_4x4 = eb_vp9_d63e_predictor_4x4_c;
1052 eb_vp9_dc_128_predictor_16x16 = eb_vp9_dc_128_predictor_16x16_c;
1053 if (flags & HAS_SSE2) eb_vp9_dc_128_predictor_16x16 = eb_vp9_dc_128_predictor_16x16_sse2;
1054 eb_vp9_dc_128_predictor_32x32 = eb_vp9_dc_128_predictor_32x32_c;
1055 if (flags & HAS_SSE2) eb_vp9_dc_128_predictor_32x32 = eb_vp9_dc_128_predictor_32x32_sse2;
1056 eb_vp9_dc_128_predictor_4x4 = eb_vp9_dc_128_predictor_4x4_c;
1057 if (flags & HAS_SSE2) eb_vp9_dc_128_predictor_4x4 = eb_vp9_dc_128_predictor_4x4_sse2;
1058 eb_vp9_dc_128_predictor_8x8 = eb_vp9_dc_128_predictor_8x8_c;
1059 if (flags & HAS_SSE2) eb_vp9_dc_128_predictor_8x8 = eb_vp9_dc_128_predictor_8x8_sse2;
1060 eb_vp9_dc_left_predictor_16x16 = eb_vp9_dc_left_predictor_16x16_c;
1061 if (flags & HAS_SSE2) eb_vp9_dc_left_predictor_16x16 = eb_vp9_dc_left_predictor_16x16_sse2;
1062 eb_vp9_dc_left_predictor_32x32 = eb_vp9_dc_left_predictor_32x32_c;
1063 if (flags & HAS_SSE2) eb_vp9_dc_left_predictor_32x32 = eb_vp9_dc_left_predictor_32x32_sse2;
1064 eb_vp9_dc_left_predictor_4x4 = eb_vp9_dc_left_predictor_4x4_c;
1065 if (flags & HAS_SSE2) eb_vp9_dc_left_predictor_4x4 = eb_vp9_dc_left_predictor_4x4_sse2;
1066 eb_vp9_dc_left_predictor_8x8 = eb_vp9_dc_left_predictor_8x8_c;
1067 if (flags & HAS_SSE2) eb_vp9_dc_left_predictor_8x8 = eb_vp9_dc_left_predictor_8x8_sse2;
1068 eb_vp9_dc_predictor_16x16 = eb_vp9_dc_predictor_16x16_c;
1069 if (flags & HAS_SSE2) eb_vp9_dc_predictor_16x16 = eb_vp9_dc_predictor_16x16_sse2;
1070 eb_vp9_dc_predictor_32x32 = eb_vp9_dc_predictor_32x32_c;
1071 if (flags & HAS_SSE2) eb_vp9_dc_predictor_32x32 = eb_vp9_dc_predictor_32x32_sse2;
1072 eb_vp9_dc_predictor_4x4 = eb_vp9_dc_predictor_4x4_c;
1073 if (flags & HAS_SSE2) eb_vp9_dc_predictor_4x4 = eb_vp9_dc_predictor_4x4_sse2;
1074 eb_vp9_dc_predictor_8x8 = eb_vp9_dc_predictor_8x8_c;
1075 if (flags & HAS_SSE2) eb_vp9_dc_predictor_8x8 = eb_vp9_dc_predictor_8x8_sse2;
1076 eb_vp9_dc_top_predictor_16x16 = eb_vp9_dc_top_predictor_16x16_c;
1077 if (flags & HAS_SSE2) eb_vp9_dc_top_predictor_16x16 = eb_vp9_dc_top_predictor_16x16_sse2;
1078 eb_vp9_dc_top_predictor_32x32 = eb_vp9_dc_top_predictor_32x32_c;
1079 if (flags & HAS_SSE2) eb_vp9_dc_top_predictor_32x32 = eb_vp9_dc_top_predictor_32x32_sse2;
1080 eb_vp9_dc_top_predictor_4x4 = eb_vp9_dc_top_predictor_4x4_c;
1081 if (flags & HAS_SSE2) eb_vp9_dc_top_predictor_4x4 = eb_vp9_dc_top_predictor_4x4_sse2;
1082 eb_vp9_dc_top_predictor_8x8 = eb_vp9_dc_top_predictor_8x8_c;
1083 if (flags & HAS_SSE2) eb_vp9_dc_top_predictor_8x8 = eb_vp9_dc_top_predictor_8x8_sse2;
1084
1085 vpx_fdct16x16 = eb_vp9_fdct16x16_c;
1086 if (flags & HAS_AVX2) vpx_fdct16x16 = vpx_fdct16x16_avx2;
1087 #if 0
1088 vpx_fdct16x16_1 = eb_vp9_fdct16x16_1_c;
1089 if (flags & HAS_SSE2) vpx_fdct16x16_1 = vpx_fdct16x16_1_sse2;
1090 //if (flags & HAS_AVX2) vpx_fdct16x16 = vpx_fdct16x16_avx2;
1091 #endif
1092 eb_vp9_fdct32x32 = eb_vp9_fdct32x32_c;
1093 if (flags & HAS_AVX2) eb_vp9_fdct32x32 = eb_vp9_fdct32x32_avx2;
1094 vpx_partial_fdct32x32 = vpx_partial_fdct32x32_c;
1095 if (flags & HAS_AVX2) vpx_partial_fdct32x32 = vpx_partial_fdct32x32_avx2;
1096 #if 0
1097 eb_vp9_fdct32x32_1 = eb_vp9_fdct32x32_1_c;
1098 if (flags & HAS_SSE2) eb_vp9_fdct32x32_1 = eb_vp9_fdct32x32_1_sse2;
1099 eb_vp9_fdct32x32_rd = eb_vp9_fdct32x32_rd_c;
1100 if (flags & HAS_AVX2) eb_vp9_fdct32x32_rd = eb_vp9_fdct32x32_rd_avx2;
1101 #endif
1102 vpx_fdct4x4 = eb_vp9_fdct4x4_c;
1103 if (flags & HAS_SSE2) vpx_fdct4x4 = eb_vp9_fdct4x4_sse2;
1104 vpx_fdct8x8 = eb_vp9_fdct8x8_c;
1105 if (flags & HAS_AVX2) vpx_fdct8x8 = vpx_fdct8x8_avx2;
1106 #if 0
1107 vpx_fdct4x4_1 = eb_vp9_fdct4x4_1_c;
1108 if (flags & HAS_SSE2) vpx_fdct4x4_1 = vpx_fdct4x4_1_sse2;
1109 vpx_fdct8x8_1 = eb_vp9_fdct8x8_1_c;
1110 if (flags & HAS_SSE2) vpx_fdct8x8_1 = vpx_fdct8x8_1_sse2;
1111 vpx_get16x16var = vpx_get16x16var_c;
1112 if (flags & HAS_AVX2) vpx_get16x16var = vpx_get16x16var_avx2;
1113 vpx_get4x4sse_cs = vpx_get4x4sse_cs_c;
1114 vpx_get8x8var = vpx_get8x8var_c;
1115 if (flags & HAS_SSE2) vpx_get8x8var = vpx_get8x8var_sse2;
1116 vpx_get_mb_ss = vpx_get_mb_ss_c;
1117 if (flags & HAS_SSE2) vpx_get_mb_ss = vpx_get_mb_ss_sse2;
1118 #endif
1119 eb_vp9_h_predictor_16x16 = eb_vp9_h_predictor_16x16_c;
1120 if (flags & HAS_SSE2) eb_vp9_h_predictor_16x16 = eb_vp9_h_predictor_16x16_sse2;
1121 eb_vp9_h_predictor_32x32 = eb_vp9_h_predictor_32x32_c;
1122 if (flags & HAS_SSE2) eb_vp9_h_predictor_32x32 = eb_vp9_h_predictor_32x32_sse2;
1123 eb_vp9_h_predictor_4x4 = eb_vp9_h_predictor_4x4_c;
1124 if (flags & HAS_SSE2) eb_vp9_h_predictor_4x4 = eb_vp9_h_predictor_4x4_sse2;
1125 eb_vp9_h_predictor_8x8 = eb_vp9_h_predictor_8x8_c;
1126 if (flags & HAS_SSE2) eb_vp9_h_predictor_8x8 = eb_vp9_h_predictor_8x8_sse2;
1127 #if 0
1128 vpx_hadamard_16x16 = vpx_hadamard_16x16_c;
1129 if (flags & HAS_AVX2) vpx_hadamard_16x16 = vpx_hadamard_16x16_avx2;
1130 vpx_hadamard_32x32 = vpx_hadamard_32x32_c;
1131 if (flags & HAS_AVX2) vpx_hadamard_32x32 = vpx_hadamard_32x32_avx2;
1132 vpx_hadamard_8x8 = vpx_hadamard_8x8_c;
1133 if (flags & HAS_SSE2) vpx_hadamard_8x8 = vpx_hadamard_8x8_sse2;
1134 vpx_he_predictor_4x4 = eb_vp9_he_predictor_4x4_c;
1135 #endif
1136 vpx_idct16x16_10_add = eb_vp9_idct16x16_10_add_c;
1137 if (flags & HAS_SSE2) vpx_idct16x16_10_add = eb_vp9_idct16x16_10_add_sse2;
1138 vpx_idct16x16_1_add = eb_vp9_idct16x16_1_add_c;
1139 if (flags & HAS_SSE2) vpx_idct16x16_1_add = eb_vp9_idct16x16_1_add_sse2;
1140 vpx_idct16x16_256_add = eb_vp9_idct16x16_256_add_c;
1141 if (flags & HAS_SSE2) vpx_idct16x16_256_add = eb_vp9_idct16x16_256_add_sse2;
1142 vpx_idct16x16_38_add = eb_vp9_idct16x16_38_add_c;
1143 if (flags & HAS_SSE2) vpx_idct16x16_38_add = eb_vp9_idct16x16_38_add_sse2;
1144 vpx_idct32x32_1024_add = eb_vp9_idct32x32_1024_add_c;
1145 if (flags & HAS_AVX2) vpx_idct32x32_1024_add = vpx_idct32x32_1024_add_avx2;
1146 eb_vp9_idct32x32_135_add = eb_vp9_idct32x32_135_add_c;
1147 if (flags & HAS_AVX2) eb_vp9_idct32x32_135_add = eb_vp9_idct32x32_135_add_avx2;
1148 vpx_idct32x32_1_add = eb_vp9_idct32x32_1_add_c;
1149 if (flags & HAS_AVX2) vpx_idct32x32_1_add = vpx_idct32x32_1_add_avx2;
1150 eb_vp9_idct32x32_34_add = eb_vp9_idct32x32_34_add_c;
1151 if (flags & HAS_AVX2) eb_vp9_idct32x32_34_add = eb_vp9_idct32x32_34_add_avx2;
1152 vpx_idct4x4_16_add = eb_vp9_idct4x4_16_add_c;
1153 if (flags & HAS_SSE2) vpx_idct4x4_16_add = eb_vp9_idct4x4_16_add_sse2;
1154 vpx_idct4x4_1_add = eb_vp9_idct4x4_1_add_c;
1155 if (flags & HAS_SSE2) vpx_idct4x4_1_add = eb_vp9_idct4x4_1_add_sse2;
1156 eb_vp9_idct8x8_12_add = eb_vp9_idct8x8_12_add_c;
1157 if (flags & HAS_SSSE3) eb_vp9_idct8x8_12_add = eb_vp9_idct8x8_12_add_ssse3;
1158 vpx_idct8x8_1_add = eb_vp9_idct8x8_1_add_c;
1159 if (flags & HAS_SSE2) vpx_idct8x8_1_add = eb_vp9_idct8x8_1_add_sse2;
1160 vpx_idct8x8_64_add = eb_vp9_idct8x8_64_add_c;
1161 if (flags & HAS_SSE2) vpx_idct8x8_64_add = eb_vp9_idct8x8_64_add_sse2;
1162 eb_vp9_lpf_horizontal_16 = eb_vp9_lpf_horizontal_16_c;
1163 if (flags & HAS_AVX2) eb_vp9_lpf_horizontal_16 = eb_vp9_lpf_horizontal_16_avx2;
1164 eb_vp9_lpf_horizontal_16_dual = eb_vp9_lpf_horizontal_16_dual_c;
1165 if (flags & HAS_AVX2) eb_vp9_lpf_horizontal_16_dual = eb_vp9_lpf_horizontal_16_dual_avx2;
1166 vpx_lpf_horizontal_4 = eb_vp9_lpf_horizontal_4_c;
1167 if (flags & HAS_SSE2) vpx_lpf_horizontal_4 = eb_vp9_lpf_horizontal_4_sse2;
1168 vpx_lpf_horizontal_4_dual = eb_vp9_lpf_horizontal_4_dual_c;
1169 if (flags & HAS_SSE2) vpx_lpf_horizontal_4_dual = eb_vp9_lpf_horizontal_4_dual_sse2;
1170 vpx_lpf_horizontal_8 = eb_vp9_lpf_horizontal_8_c;
1171 if (flags & HAS_SSE2) vpx_lpf_horizontal_8 = eb_vp9_lpf_horizontal_8_sse2;
1172 vpx_lpf_horizontal_8_dual = eb_vp9_lpf_horizontal_8_dual_c;
1173 if (flags & HAS_SSE2) vpx_lpf_horizontal_8_dual = eb_vp9_lpf_horizontal_8_dual_sse2;
1174 vpx_lpf_vertical_16 = eb_vp9_lpf_vertical_16_c;
1175 if (flags & HAS_SSE2) vpx_lpf_vertical_16 = eb_vp9_lpf_vertical_16_sse2;
1176 vpx_lpf_vertical_16_dual = eb_vp9_lpf_vertical_16_dual_c;
1177 if (flags & HAS_AVX2) vpx_lpf_vertical_16_dual = vpx_lpf_vertical_16_dual_avx2;
1178
1179 vpx_lpf_vertical_4 = eb_vp9_lpf_vertical_4_c;
1180 if (flags & HAS_SSE2) vpx_lpf_vertical_4 = eb_vp9_lpf_vertical_4_sse2;
1181 vpx_lpf_vertical_4_dual = eb_vp9_lpf_vertical_4_dual_c;
1182 if (flags & HAS_SSE2) vpx_lpf_vertical_4_dual = eb_vp9_lpf_vertical_4_dual_sse2;
1183 vpx_lpf_vertical_8 = eb_vp9_lpf_vertical_8_c;
1184 if (flags & HAS_SSE2) vpx_lpf_vertical_8 = eb_vp9_lpf_vertical_8_sse2;
1185 vpx_lpf_vertical_8_dual = eb_vp9_lpf_vertical_8_dual_c;
1186 if (flags & HAS_SSE2) vpx_lpf_vertical_8_dual = eb_vp9_lpf_vertical_8_dual_sse2;
1187 #if 0
1188 vpx_int_pro_col = vpx_int_pro_col_c;
1189 if (flags & HAS_SSE2) vpx_int_pro_col = vpx_int_pro_col_sse2;
1190 vpx_int_pro_row = vpx_int_pro_row_c;
1191 if (flags & HAS_SSE2) vpx_int_pro_row = vpx_int_pro_row_sse2;
1192 vpx_iwht4x4_16_add = eb_vp9_iwht4x4_16_add_c;
1193 if (flags & HAS_SSE2) vpx_iwht4x4_16_add = vpx_iwht4x4_16_add_sse2;
1194 vpx_iwht4x4_1_add = eb_vp9_iwht4x4_1_add_c;
1195 vpx_mbpost_proc_across_ip = vpx_mbpost_proc_across_ip_c;
1196 if (flags & HAS_SSE2) vpx_mbpost_proc_across_ip = vpx_mbpost_proc_across_ip_sse2;
1197 vpx_mbpost_proc_down = vpx_mbpost_proc_down_c;
1198 if (flags & HAS_SSE2) vpx_mbpost_proc_down = vpx_mbpost_proc_down_sse2;
1199 vpx_minmax_8x8 = vpx_minmax_8x8_c;
1200 if (flags & HAS_SSE2) vpx_minmax_8x8 = vpx_minmax_8x8_sse2;
1201 eb_vp9_mse16x16 = eb_vp9_mse16x16_c;
1202 if (flags & HAS_AVX2) eb_vp9_mse16x16 = eb_vp9_mse16x16_avx2;
1203 eb_vp9_mse16x8 = eb_vp9_mse16x8_c;
1204 if (flags & HAS_AVX2) eb_vp9_mse16x8 = eb_vp9_mse16x8_avx2;
1205 vpx_mse8x16 = vpx_mse8x16_c;
1206 if (flags & HAS_SSE2) vpx_mse8x16 = vpx_mse8x16_sse2;
1207 vpx_mse8x8 = vpx_mse8x8_c;
1208 if (flags & HAS_SSE2) vpx_mse8x8 = vpx_mse8x8_sse2;
1209 vpx_plane_add_noise = vpx_plane_add_noise_c;
1210 if (flags & HAS_SSE2) vpx_plane_add_noise = vpx_plane_add_noise_sse2;
1211 vpx_post_proc_down_and_across_mb_row = vpx_post_proc_down_and_across_mb_row_c;
1212 if (flags & HAS_SSE2) vpx_post_proc_down_and_across_mb_row = vpx_post_proc_down_and_across_mb_row_sse2;
1213 #endif
1214 eb_vp9_quantize_b = eb_vp9_quantize_b_c;
1215 if (flags & HAS_AVX) eb_vp9_quantize_b = eb_vp9_quantize_b_avx;
1216 eb_vp9_quantize_b_32x32 = eb_vp9_quantize_b_32x32_c;
1217 if (flags & HAS_AVX) eb_vp9_quantize_b_32x32 = eb_vp9_quantize_b_32x32_avx;
1218 #if 0
1219 vpx_sad16x16 = vpx_sad16x16_c;
1220 if (flags & HAS_SSE2) vpx_sad16x16 = vpx_sad16x16_sse2;
1221 vpx_sad16x16_avg = vpx_sad16x16_avg_c;
1222 if (flags & HAS_SSE2) vpx_sad16x16_avg = vpx_sad16x16_avg_sse2;
1223 vpx_sad16x16x3 = vpx_sad16x16x3_c;
1224 if (flags & HAS_SSSE3) vpx_sad16x16x3 = vpx_sad16x16x3_ssse3;
1225 vpx_sad16x16x4d = vpx_sad16x16x4d_c;
1226 if (flags & HAS_SSE2) vpx_sad16x16x4d = vpx_sad16x16x4d_sse2;
1227 vpx_sad16x16x8 = vpx_sad16x16x8_c;
1228 if (flags & HAS_SSE4_1) vpx_sad16x16x8 = vpx_sad16x16x8_sse4_1;
1229 vpx_sad16x32 = vpx_sad16x32_c;
1230 if (flags & HAS_SSE2) vpx_sad16x32 = vpx_sad16x32_sse2;
1231 vpx_sad16x32_avg = vpx_sad16x32_avg_c;
1232 if (flags & HAS_SSE2) vpx_sad16x32_avg = vpx_sad16x32_avg_sse2;
1233 vpx_sad16x32x4d = vpx_sad16x32x4d_c;
1234 if (flags & HAS_SSE2) vpx_sad16x32x4d = vpx_sad16x32x4d_sse2;
1235 vpx_sad16x8 = vpx_sad16x8_c;
1236 if (flags & HAS_SSE2) vpx_sad16x8 = vpx_sad16x8_sse2;
1237 vpx_sad16x8_avg = vpx_sad16x8_avg_c;
1238 if (flags & HAS_SSE2) vpx_sad16x8_avg = vpx_sad16x8_avg_sse2;
1239 vpx_sad16x8x3 = vpx_sad16x8x3_c;
1240 if (flags & HAS_SSSE3) vpx_sad16x8x3 = vpx_sad16x8x3_ssse3;
1241 vpx_sad16x8x4d = vpx_sad16x8x4d_c;
1242 if (flags & HAS_SSE2) vpx_sad16x8x4d = vpx_sad16x8x4d_sse2;
1243 vpx_sad16x8x8 = vpx_sad16x8x8_c;
1244 if (flags & HAS_SSE4_1) vpx_sad16x8x8 = vpx_sad16x8x8_sse4_1;
1245 vpx_sad32x16 = vpx_sad32x16_c;
1246 if (flags & HAS_AVX2) vpx_sad32x16 = vpx_sad32x16_avx2;
1247 vpx_sad32x16_avg = vpx_sad32x16_avg_c;
1248 if (flags & HAS_AVX2) vpx_sad32x16_avg = vpx_sad32x16_avg_avx2;
1249 vpx_sad32x16x4d = vpx_sad32x16x4d_c;
1250 if (flags & HAS_SSE2) vpx_sad32x16x4d = vpx_sad32x16x4d_sse2;
1251 vpx_sad32x32 = vpx_sad32x32_c;
1252 if (flags & HAS_AVX2) vpx_sad32x32 = vpx_sad32x32_avx2;
1253 vpx_sad32x32_avg = vpx_sad32x32_avg_c;
1254 if (flags & HAS_AVX2) vpx_sad32x32_avg = vpx_sad32x32_avg_avx2;
1255 vpx_sad32x32x4d = vpx_sad32x32x4d_c;
1256 if (flags & HAS_AVX2) vpx_sad32x32x4d = vpx_sad32x32x4d_avx2;
1257 vpx_sad32x64 = vpx_sad32x64_c;
1258 if (flags & HAS_AVX2) vpx_sad32x64 = vpx_sad32x64_avx2;
1259 vpx_sad32x64_avg = vpx_sad32x64_avg_c;
1260 if (flags & HAS_AVX2) vpx_sad32x64_avg = vpx_sad32x64_avg_avx2;
1261 vpx_sad32x64x4d = vpx_sad32x64x4d_c;
1262 if (flags & HAS_SSE2) vpx_sad32x64x4d = vpx_sad32x64x4d_sse2;
1263 vpx_sad4x4 = vpx_sad4x4_c;
1264 if (flags & HAS_SSE2) vpx_sad4x4 = vpx_sad4x4_sse2;
1265 vpx_sad4x4_avg = vpx_sad4x4_avg_c;
1266 if (flags & HAS_SSE2) vpx_sad4x4_avg = vpx_sad4x4_avg_sse2;
1267 vpx_sad4x4x3 = vpx_sad4x4x3_c;
1268 if (flags & HAS_SSE3) vpx_sad4x4x3 = vpx_sad4x4x3_sse3;
1269 vpx_sad4x4x4d = vpx_sad4x4x4d_c;
1270 if (flags & HAS_SSE2) vpx_sad4x4x4d = vpx_sad4x4x4d_sse2;
1271 vpx_sad4x4x8 = vpx_sad4x4x8_c;
1272 if (flags & HAS_SSE4_1) vpx_sad4x4x8 = vpx_sad4x4x8_sse4_1;
1273 vpx_sad4x8 = vpx_sad4x8_c;
1274 if (flags & HAS_SSE2) vpx_sad4x8 = vpx_sad4x8_sse2;
1275 vpx_sad4x8_avg = vpx_sad4x8_avg_c;
1276 if (flags & HAS_SSE2) vpx_sad4x8_avg = vpx_sad4x8_avg_sse2;
1277 vpx_sad4x8x4d = vpx_sad4x8x4d_c;
1278 if (flags & HAS_SSE2) vpx_sad4x8x4d = vpx_sad4x8x4d_sse2;
1279 vpx_sad64x32 = vpx_sad64x32_c;
1280 if (flags & HAS_AVX2) vpx_sad64x32 = vpx_sad64x32_avx2;
1281 vpx_sad64x32_avg = vpx_sad64x32_avg_c;
1282 if (flags & HAS_AVX2) vpx_sad64x32_avg = vpx_sad64x32_avg_avx2;
1283 vpx_sad64x32x4d = vpx_sad64x32x4d_c;
1284 if (flags & HAS_SSE2) vpx_sad64x32x4d = vpx_sad64x32x4d_sse2;
1285 vpx_sad64x64 = vpx_sad64x64_c;
1286 if (flags & HAS_AVX2) vpx_sad64x64 = vpx_sad64x64_avx2;
1287 vpx_sad64x64_avg = vpx_sad64x64_avg_c;
1288 if (flags & HAS_AVX2) vpx_sad64x64_avg = vpx_sad64x64_avg_avx2;
1289 vpx_sad64x64x4d = vpx_sad64x64x4d_c;
1290 if (flags & HAS_AVX2) vpx_sad64x64x4d = vpx_sad64x64x4d_avx2;
1291 vpx_sad8x16 = vpx_sad8x16_c;
1292 if (flags & HAS_SSE2) vpx_sad8x16 = vpx_sad8x16_sse2;
1293 vpx_sad8x16_avg = vpx_sad8x16_avg_c;
1294 if (flags & HAS_SSE2) vpx_sad8x16_avg = vpx_sad8x16_avg_sse2;
1295 vpx_sad8x16x3 = vpx_sad8x16x3_c;
1296 if (flags & HAS_SSE3) vpx_sad8x16x3 = vpx_sad8x16x3_sse3;
1297 vpx_sad8x16x4d = vpx_sad8x16x4d_c;
1298 if (flags & HAS_SSE2) vpx_sad8x16x4d = vpx_sad8x16x4d_sse2;
1299 vpx_sad8x16x8 = vpx_sad8x16x8_c;
1300 if (flags & HAS_SSE4_1) vpx_sad8x16x8 = vpx_sad8x16x8_sse4_1;
1301 vpx_sad8x4 = vpx_sad8x4_c;
1302 if (flags & HAS_SSE2) vpx_sad8x4 = vpx_sad8x4_sse2;
1303 vpx_sad8x4_avg = vpx_sad8x4_avg_c;
1304 if (flags & HAS_SSE2) vpx_sad8x4_avg = vpx_sad8x4_avg_sse2;
1305 vpx_sad8x4x4d = vpx_sad8x4x4d_c;
1306 if (flags & HAS_SSE2) vpx_sad8x4x4d = vpx_sad8x4x4d_sse2;
1307 vpx_sad8x8 = vpx_sad8x8_c;
1308 if (flags & HAS_SSE2) vpx_sad8x8 = vpx_sad8x8_sse2;
1309 vpx_sad8x8_avg = vpx_sad8x8_avg_c;
1310 if (flags & HAS_SSE2) vpx_sad8x8_avg = vpx_sad8x8_avg_sse2;
1311 vpx_sad8x8x3 = vpx_sad8x8x3_c;
1312 if (flags & HAS_SSE3) vpx_sad8x8x3 = vpx_sad8x8x3_sse3;
1313 vpx_sad8x8x4d = vpx_sad8x8x4d_c;
1314 if (flags & HAS_SSE2) vpx_sad8x8x4d = vpx_sad8x8x4d_sse2;
1315 vpx_sad8x8x8 = vpx_sad8x8x8_c;
1316 if (flags & HAS_SSE4_1) vpx_sad8x8x8 = vpx_sad8x8x8_sse4_1;
1317 vpx_satd = vpx_satd_c;
1318 if (flags & HAS_AVX2) vpx_satd = vpx_satd_avx2;
1319 vpx_scaled_2d = eb_vp9_scaled_2d_c;
1320 if (flags & HAS_SSSE3) vpx_scaled_2d = vpx_scaled_2d_ssse3;
1321 vpx_scaled_avg_2d = eb_vp9_scaled_avg_2d_c;
1322 vpx_scaled_avg_horiz = eb_vp9_scaled_avg_horiz_c;
1323 vpx_scaled_avg_vert = eb_vp9_scaled_avg_vert_c;
1324 vpx_scaled_horiz = eb_vp9_scaled_horiz_c;
1325 vpx_scaled_vert = eb_vp9_scaled_vert_c
1326 vpx_sub_pixel_avg_variance16x16 = vpx_sub_pixel_avg_variance16x16_c;
1327 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance16x16 = vpx_sub_pixel_avg_variance16x16_ssse3;
1328 vpx_sub_pixel_avg_variance16x32 = vpx_sub_pixel_avg_variance16x32_c;
1329 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance16x32 = vpx_sub_pixel_avg_variance16x32_ssse3;
1330 vpx_sub_pixel_avg_variance16x8 = vpx_sub_pixel_avg_variance16x8_c;
1331 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance16x8 = vpx_sub_pixel_avg_variance16x8_ssse3;
1332 vpx_sub_pixel_avg_variance32x16 = vpx_sub_pixel_avg_variance32x16_c;
1333 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance32x16 = vpx_sub_pixel_avg_variance32x16_ssse3;
1334 vpx_sub_pixel_avg_variance32x32 = vpx_sub_pixel_avg_variance32x32_c;
1335 if (flags & HAS_AVX2) vpx_sub_pixel_avg_variance32x32 = vpx_sub_pixel_avg_variance32x32_avx2;
1336 vpx_sub_pixel_avg_variance32x64 = vpx_sub_pixel_avg_variance32x64_c;
1337 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance32x64 = vpx_sub_pixel_avg_variance32x64_ssse3;
1338 vpx_sub_pixel_avg_variance4x4 = vpx_sub_pixel_avg_variance4x4_c;
1339 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance4x4 = vpx_sub_pixel_avg_variance4x4_ssse3;
1340 vpx_sub_pixel_avg_variance4x8 = vpx_sub_pixel_avg_variance4x8_c;
1341 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance4x8 = vpx_sub_pixel_avg_variance4x8_ssse3;
1342 vpx_sub_pixel_avg_variance64x32 = vpx_sub_pixel_avg_variance64x32_c;
1343 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance64x32 = vpx_sub_pixel_avg_variance64x32_ssse3;
1344 vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_c;
1345 if (flags & HAS_AVX2) vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_avx2;
1346 vpx_sub_pixel_avg_variance8x16 = vpx_sub_pixel_avg_variance8x16_c;
1347 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance8x16 = vpx_sub_pixel_avg_variance8x16_ssse3;
1348 vpx_sub_pixel_avg_variance8x4 = vpx_sub_pixel_avg_variance8x4_c;
1349 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance8x4 = vpx_sub_pixel_avg_variance8x4_ssse3;
1350 vpx_sub_pixel_avg_variance8x8 = vpx_sub_pixel_avg_variance8x8_c;
1351 if (flags & HAS_SSSE3) vpx_sub_pixel_avg_variance8x8 = vpx_sub_pixel_avg_variance8x8_ssse3;
1352 vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_c;
1353 if (flags & HAS_SSSE3) vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_ssse3;
1354 vpx_sub_pixel_variance16x32 = vpx_sub_pixel_variance16x32_c;
1355 if (flags & HAS_SSSE3) vpx_sub_pixel_variance16x32 = vpx_sub_pixel_variance16x32_ssse3;
1356 vpx_sub_pixel_variance16x8 = vpx_sub_pixel_variance16x8_c;
1357 if (flags & HAS_SSSE3) vpx_sub_pixel_variance16x8 = vpx_sub_pixel_variance16x8_ssse3;
1358 vpx_sub_pixel_variance32x16 = vpx_sub_pixel_variance32x16_c;
1359 if (flags & HAS_SSSE3) vpx_sub_pixel_variance32x16 = vpx_sub_pixel_variance32x16_ssse3;
1360 vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_c;
1361 if (flags & HAS_AVX2) vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_avx2;
1362 vpx_sub_pixel_variance32x64 = vpx_sub_pixel_variance32x64_c;
1363 if (flags & HAS_SSSE3) vpx_sub_pixel_variance32x64 = vpx_sub_pixel_variance32x64_ssse3;
1364 vpx_sub_pixel_variance4x4 = vpx_sub_pixel_variance4x4_c;
1365 if (flags & HAS_SSSE3) vpx_sub_pixel_variance4x4 = vpx_sub_pixel_variance4x4_ssse3;
1366 vpx_sub_pixel_variance4x8 = vpx_sub_pixel_variance4x8_c;
1367 if (flags & HAS_SSSE3) vpx_sub_pixel_variance4x8 = vpx_sub_pixel_variance4x8_ssse3;
1368 vpx_sub_pixel_variance64x32 = vpx_sub_pixel_variance64x32_c;
1369 if (flags & HAS_SSSE3) vpx_sub_pixel_variance64x32 = vpx_sub_pixel_variance64x32_ssse3;
1370 vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_c;
1371 if (flags & HAS_AVX2) vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_avx2;
1372 vpx_sub_pixel_variance8x16 = vpx_sub_pixel_variance8x16_c;
1373 if (flags & HAS_SSSE3) vpx_sub_pixel_variance8x16 = vpx_sub_pixel_variance8x16_ssse3;
1374 vpx_sub_pixel_variance8x4 = vpx_sub_pixel_variance8x4_c;
1375 if (flags & HAS_SSSE3) vpx_sub_pixel_variance8x4 = vpx_sub_pixel_variance8x4_ssse3;
1376 vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_c;
1377 if (flags & HAS_SSSE3) vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_ssse3;
1378 #endif
1379 vpx_subtract_block = eb_vp9_subtract_block_c;
1380 if (flags & HAS_SSE2) vpx_subtract_block = eb_vp9_subtract_block_sse2;
1381 #if 0
1382 vpx_sum_squares_2d_i16 = vpx_sum_squares_2d_i16_c;
1383 if (flags & HAS_SSE2) vpx_sum_squares_2d_i16 = vpx_sum_squares_2d_i16_sse2;
1384 #endif
1385 eb_vp9_tm_predictor_16x16 = eb_vp9_tm_predictor_16x16_c;
1386 if (flags & HAS_SSE2) eb_vp9_tm_predictor_16x16 = eb_vp9_tm_predictor_16x16_sse2;
1387 eb_vp9_tm_predictor_32x32 = eb_vp9_tm_predictor_32x32_c;
1388 if (flags & HAS_SSE2) eb_vp9_tm_predictor_32x32 = eb_vp9_tm_predictor_32x32_sse2;
1389 eb_vp9_tm_predictor_4x4 = eb_vp9_tm_predictor_4x4_c;
1390 if (flags & HAS_SSE2) eb_vp9_tm_predictor_4x4 = eb_vp9_tm_predictor_4x4_sse2;
1391 eb_vp9_tm_predictor_8x8 = eb_vp9_tm_predictor_8x8_c;
1392 if (flags & HAS_SSE2) eb_vp9_tm_predictor_8x8 = eb_vp9_tm_predictor_8x8_sse2;
1393 eb_vp9_v_predictor_16x16 = eb_vp9_v_predictor_16x16_c;
1394 if (flags & HAS_SSE2) eb_vp9_v_predictor_16x16 = eb_vp9_v_predictor_16x16_sse2;
1395 eb_vp9_v_predictor_32x32 = eb_vp9_v_predictor_32x32_c;
1396 if (flags & HAS_SSE2) eb_vp9_v_predictor_32x32 = eb_vp9_v_predictor_32x32_sse2;
1397 eb_vp9_v_predictor_4x4 = eb_vp9_v_predictor_4x4_c;
1398 if (flags & HAS_SSE2) eb_vp9_v_predictor_4x4 = eb_vp9_v_predictor_4x4_sse2;
1399 eb_vp9_v_predictor_8x8 = eb_vp9_v_predictor_8x8_c;
1400 if (flags & HAS_SSE2) eb_vp9_v_predictor_8x8 = eb_vp9_v_predictor_8x8_sse2;
1401 #if 0
1402 vpx_variance16x16 = vpx_variance16x16_c;
1403 if (flags & HAS_AVX2) vpx_variance16x16 = vpx_variance16x16_avx2;
1404 vpx_variance16x32 = vpx_variance16x32_c;
1405 if (flags & HAS_AVX2) vpx_variance16x32 = vpx_variance16x32_avx2;
1406 vpx_variance16x8 = vpx_variance16x8_c;
1407 if (flags & HAS_AVX2) vpx_variance16x8 = vpx_variance16x8_avx2;
1408 vpx_variance32x16 = vpx_variance32x16_c;
1409 if (flags & HAS_AVX2) vpx_variance32x16 = vpx_variance32x16_avx2;
1410 vpx_variance32x32 = vpx_variance32x32_c;
1411 if (flags & HAS_AVX2) vpx_variance32x32 = vpx_variance32x32_avx2;
1412 vpx_variance32x64 = vpx_variance32x64_c;
1413 if (flags & HAS_AVX2) vpx_variance32x64 = vpx_variance32x64_avx2;
1414 vpx_variance4x4 = vpx_variance4x4_c;
1415 if (flags & HAS_SSE2) vpx_variance4x4 = vpx_variance4x4_sse2;
1416 vpx_variance4x8 = vpx_variance4x8_c;
1417 if (flags & HAS_SSE2) vpx_variance4x8 = vpx_variance4x8_sse2;
1418 vpx_variance64x32 = vpx_variance64x32_c;
1419 if (flags & HAS_AVX2) vpx_variance64x32 = vpx_variance64x32_avx2;
1420 vpx_variance64x64 = vpx_variance64x64_c;
1421 if (flags & HAS_AVX2) vpx_variance64x64 = vpx_variance64x64_avx2;
1422 vpx_variance8x16 = vpx_variance8x16_c;
1423 if (flags & HAS_SSE2) vpx_variance8x16 = vpx_variance8x16_sse2;
1424 vpx_variance8x4 = vpx_variance8x4_c;
1425 if (flags & HAS_SSE2) vpx_variance8x4 = vpx_variance8x4_sse2;
1426 vpx_variance8x8 = vpx_variance8x8_c;
1427 if (flags & HAS_SSE2) vpx_variance8x8 = vpx_variance8x8_sse2;
1428 vpx_ve_predictor_4x4 = eb_vp9_ve_predictor_4x4_c;
1429 vpx_vector_var = vpx_vector_var_c;
1430 if (flags & HAS_SSE2) vpx_vector_var = vpx_vector_var_sse2;
1431 #endif
1432 #endif
1433 }
1434
1435 #endif
1436
1437 #ifdef __cplusplus
1438 } // extern "C"
1439 #endif
1440
1441 #endif
1442