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 #include "vpx/vpx_integer.h"
16 #include "vpx_dsp/vpx_dsp_common.h"
17 #include "vpx_dsp/vpx_filter.h"
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
23 unsigned int vpx_avg_4x4_c(const uint8_t*, int p);
24 unsigned int vpx_avg_4x4_sse2(const uint8_t*, int p);
25 #define vpx_avg_4x4 vpx_avg_4x4_sse2
26 
27 unsigned int vpx_avg_8x8_c(const uint8_t*, int p);
28 unsigned int vpx_avg_8x8_sse2(const uint8_t*, int p);
29 #define vpx_avg_8x8 vpx_avg_8x8_sse2
30 
31 void vpx_comp_avg_pred_c(uint8_t* comp_pred,
32                          const uint8_t* pred,
33                          int width,
34                          int height,
35                          const uint8_t* ref,
36                          int ref_stride);
37 void vpx_comp_avg_pred_sse2(uint8_t* comp_pred,
38                             const uint8_t* pred,
39                             int width,
40                             int height,
41                             const uint8_t* ref,
42                             int ref_stride);
43 #define vpx_comp_avg_pred vpx_comp_avg_pred_sse2
44 
45 void vpx_convolve8_c(const uint8_t* src,
46                      ptrdiff_t src_stride,
47                      uint8_t* dst,
48                      ptrdiff_t dst_stride,
49                      const InterpKernel* filter,
50                      int x0_q4,
51                      int x_step_q4,
52                      int y0_q4,
53                      int y_step_q4,
54                      int w,
55                      int h);
56 void vpx_convolve8_sse2(const uint8_t* src,
57                         ptrdiff_t src_stride,
58                         uint8_t* dst,
59                         ptrdiff_t dst_stride,
60                         const InterpKernel* filter,
61                         int x0_q4,
62                         int x_step_q4,
63                         int y0_q4,
64                         int y_step_q4,
65                         int w,
66                         int h);
67 void vpx_convolve8_ssse3(const uint8_t* src,
68                          ptrdiff_t src_stride,
69                          uint8_t* dst,
70                          ptrdiff_t dst_stride,
71                          const InterpKernel* filter,
72                          int x0_q4,
73                          int x_step_q4,
74                          int y0_q4,
75                          int y_step_q4,
76                          int w,
77                          int h);
78 void vpx_convolve8_avx2(const uint8_t* src,
79                         ptrdiff_t src_stride,
80                         uint8_t* dst,
81                         ptrdiff_t dst_stride,
82                         const InterpKernel* filter,
83                         int x0_q4,
84                         int x_step_q4,
85                         int y0_q4,
86                         int y_step_q4,
87                         int w,
88                         int h);
89 RTCD_EXTERN void (*vpx_convolve8)(const uint8_t* src,
90                                   ptrdiff_t src_stride,
91                                   uint8_t* dst,
92                                   ptrdiff_t dst_stride,
93                                   const InterpKernel* filter,
94                                   int x0_q4,
95                                   int x_step_q4,
96                                   int y0_q4,
97                                   int y_step_q4,
98                                   int w,
99                                   int h);
100 
101 void vpx_convolve8_avg_c(const uint8_t* src,
102                          ptrdiff_t src_stride,
103                          uint8_t* dst,
104                          ptrdiff_t dst_stride,
105                          const InterpKernel* filter,
106                          int x0_q4,
107                          int x_step_q4,
108                          int y0_q4,
109                          int y_step_q4,
110                          int w,
111                          int h);
112 void vpx_convolve8_avg_sse2(const uint8_t* src,
113                             ptrdiff_t src_stride,
114                             uint8_t* dst,
115                             ptrdiff_t dst_stride,
116                             const InterpKernel* filter,
117                             int x0_q4,
118                             int x_step_q4,
119                             int y0_q4,
120                             int y_step_q4,
121                             int w,
122                             int h);
123 void vpx_convolve8_avg_ssse3(const uint8_t* src,
124                              ptrdiff_t src_stride,
125                              uint8_t* dst,
126                              ptrdiff_t dst_stride,
127                              const InterpKernel* filter,
128                              int x0_q4,
129                              int x_step_q4,
130                              int y0_q4,
131                              int y_step_q4,
132                              int w,
133                              int h);
134 void vpx_convolve8_avg_avx2(const uint8_t* src,
135                             ptrdiff_t src_stride,
136                             uint8_t* dst,
137                             ptrdiff_t dst_stride,
138                             const InterpKernel* filter,
139                             int x0_q4,
140                             int x_step_q4,
141                             int y0_q4,
142                             int y_step_q4,
143                             int w,
144                             int h);
145 RTCD_EXTERN void (*vpx_convolve8_avg)(const uint8_t* src,
146                                       ptrdiff_t src_stride,
147                                       uint8_t* dst,
148                                       ptrdiff_t dst_stride,
149                                       const InterpKernel* filter,
150                                       int x0_q4,
151                                       int x_step_q4,
152                                       int y0_q4,
153                                       int y_step_q4,
154                                       int w,
155                                       int h);
156 
157 void vpx_convolve8_avg_horiz_c(const uint8_t* src,
158                                ptrdiff_t src_stride,
159                                uint8_t* dst,
160                                ptrdiff_t dst_stride,
161                                const InterpKernel* filter,
162                                int x0_q4,
163                                int x_step_q4,
164                                int y0_q4,
165                                int y_step_q4,
166                                int w,
167                                int h);
168 void vpx_convolve8_avg_horiz_sse2(const uint8_t* src,
169                                   ptrdiff_t src_stride,
170                                   uint8_t* dst,
171                                   ptrdiff_t dst_stride,
172                                   const InterpKernel* filter,
173                                   int x0_q4,
174                                   int x_step_q4,
175                                   int y0_q4,
176                                   int y_step_q4,
177                                   int w,
178                                   int h);
179 void vpx_convolve8_avg_horiz_ssse3(const uint8_t* src,
180                                    ptrdiff_t src_stride,
181                                    uint8_t* dst,
182                                    ptrdiff_t dst_stride,
183                                    const InterpKernel* filter,
184                                    int x0_q4,
185                                    int x_step_q4,
186                                    int y0_q4,
187                                    int y_step_q4,
188                                    int w,
189                                    int h);
190 void vpx_convolve8_avg_horiz_avx2(const uint8_t* src,
191                                   ptrdiff_t src_stride,
192                                   uint8_t* dst,
193                                   ptrdiff_t dst_stride,
194                                   const InterpKernel* filter,
195                                   int x0_q4,
196                                   int x_step_q4,
197                                   int y0_q4,
198                                   int y_step_q4,
199                                   int w,
200                                   int h);
201 RTCD_EXTERN void (*vpx_convolve8_avg_horiz)(const uint8_t* src,
202                                             ptrdiff_t src_stride,
203                                             uint8_t* dst,
204                                             ptrdiff_t dst_stride,
205                                             const InterpKernel* filter,
206                                             int x0_q4,
207                                             int x_step_q4,
208                                             int y0_q4,
209                                             int y_step_q4,
210                                             int w,
211                                             int h);
212 
213 void vpx_convolve8_avg_vert_c(const uint8_t* src,
214                               ptrdiff_t src_stride,
215                               uint8_t* dst,
216                               ptrdiff_t dst_stride,
217                               const InterpKernel* filter,
218                               int x0_q4,
219                               int x_step_q4,
220                               int y0_q4,
221                               int y_step_q4,
222                               int w,
223                               int h);
224 void vpx_convolve8_avg_vert_sse2(const uint8_t* src,
225                                  ptrdiff_t src_stride,
226                                  uint8_t* dst,
227                                  ptrdiff_t dst_stride,
228                                  const InterpKernel* filter,
229                                  int x0_q4,
230                                  int x_step_q4,
231                                  int y0_q4,
232                                  int y_step_q4,
233                                  int w,
234                                  int h);
235 void vpx_convolve8_avg_vert_ssse3(const uint8_t* src,
236                                   ptrdiff_t src_stride,
237                                   uint8_t* dst,
238                                   ptrdiff_t dst_stride,
239                                   const InterpKernel* filter,
240                                   int x0_q4,
241                                   int x_step_q4,
242                                   int y0_q4,
243                                   int y_step_q4,
244                                   int w,
245                                   int h);
246 void vpx_convolve8_avg_vert_avx2(const uint8_t* src,
247                                  ptrdiff_t src_stride,
248                                  uint8_t* dst,
249                                  ptrdiff_t dst_stride,
250                                  const InterpKernel* filter,
251                                  int x0_q4,
252                                  int x_step_q4,
253                                  int y0_q4,
254                                  int y_step_q4,
255                                  int w,
256                                  int h);
257 RTCD_EXTERN void (*vpx_convolve8_avg_vert)(const uint8_t* src,
258                                            ptrdiff_t src_stride,
259                                            uint8_t* dst,
260                                            ptrdiff_t dst_stride,
261                                            const InterpKernel* filter,
262                                            int x0_q4,
263                                            int x_step_q4,
264                                            int y0_q4,
265                                            int y_step_q4,
266                                            int w,
267                                            int h);
268 
269 void vpx_convolve8_horiz_c(const uint8_t* src,
270                            ptrdiff_t src_stride,
271                            uint8_t* dst,
272                            ptrdiff_t dst_stride,
273                            const InterpKernel* filter,
274                            int x0_q4,
275                            int x_step_q4,
276                            int y0_q4,
277                            int y_step_q4,
278                            int w,
279                            int h);
280 void vpx_convolve8_horiz_sse2(const uint8_t* src,
281                               ptrdiff_t src_stride,
282                               uint8_t* dst,
283                               ptrdiff_t dst_stride,
284                               const InterpKernel* filter,
285                               int x0_q4,
286                               int x_step_q4,
287                               int y0_q4,
288                               int y_step_q4,
289                               int w,
290                               int h);
291 void vpx_convolve8_horiz_ssse3(const uint8_t* src,
292                                ptrdiff_t src_stride,
293                                uint8_t* dst,
294                                ptrdiff_t dst_stride,
295                                const InterpKernel* filter,
296                                int x0_q4,
297                                int x_step_q4,
298                                int y0_q4,
299                                int y_step_q4,
300                                int w,
301                                int h);
302 void vpx_convolve8_horiz_avx2(const uint8_t* src,
303                               ptrdiff_t src_stride,
304                               uint8_t* dst,
305                               ptrdiff_t dst_stride,
306                               const InterpKernel* filter,
307                               int x0_q4,
308                               int x_step_q4,
309                               int y0_q4,
310                               int y_step_q4,
311                               int w,
312                               int h);
313 RTCD_EXTERN void (*vpx_convolve8_horiz)(const uint8_t* src,
314                                         ptrdiff_t src_stride,
315                                         uint8_t* dst,
316                                         ptrdiff_t dst_stride,
317                                         const InterpKernel* filter,
318                                         int x0_q4,
319                                         int x_step_q4,
320                                         int y0_q4,
321                                         int y_step_q4,
322                                         int w,
323                                         int h);
324 
325 void vpx_convolve8_vert_c(const uint8_t* src,
326                           ptrdiff_t src_stride,
327                           uint8_t* dst,
328                           ptrdiff_t dst_stride,
329                           const InterpKernel* filter,
330                           int x0_q4,
331                           int x_step_q4,
332                           int y0_q4,
333                           int y_step_q4,
334                           int w,
335                           int h);
336 void vpx_convolve8_vert_sse2(const uint8_t* src,
337                              ptrdiff_t src_stride,
338                              uint8_t* dst,
339                              ptrdiff_t dst_stride,
340                              const InterpKernel* filter,
341                              int x0_q4,
342                              int x_step_q4,
343                              int y0_q4,
344                              int y_step_q4,
345                              int w,
346                              int h);
347 void vpx_convolve8_vert_ssse3(const uint8_t* src,
348                               ptrdiff_t src_stride,
349                               uint8_t* dst,
350                               ptrdiff_t dst_stride,
351                               const InterpKernel* filter,
352                               int x0_q4,
353                               int x_step_q4,
354                               int y0_q4,
355                               int y_step_q4,
356                               int w,
357                               int h);
358 void vpx_convolve8_vert_avx2(const uint8_t* src,
359                              ptrdiff_t src_stride,
360                              uint8_t* dst,
361                              ptrdiff_t dst_stride,
362                              const InterpKernel* filter,
363                              int x0_q4,
364                              int x_step_q4,
365                              int y0_q4,
366                              int y_step_q4,
367                              int w,
368                              int h);
369 RTCD_EXTERN void (*vpx_convolve8_vert)(const uint8_t* src,
370                                        ptrdiff_t src_stride,
371                                        uint8_t* dst,
372                                        ptrdiff_t dst_stride,
373                                        const InterpKernel* filter,
374                                        int x0_q4,
375                                        int x_step_q4,
376                                        int y0_q4,
377                                        int y_step_q4,
378                                        int w,
379                                        int h);
380 
381 void vpx_convolve_avg_c(const uint8_t* src,
382                         ptrdiff_t src_stride,
383                         uint8_t* dst,
384                         ptrdiff_t dst_stride,
385                         const InterpKernel* filter,
386                         int x0_q4,
387                         int x_step_q4,
388                         int y0_q4,
389                         int y_step_q4,
390                         int w,
391                         int h);
392 void vpx_convolve_avg_sse2(const uint8_t* src,
393                            ptrdiff_t src_stride,
394                            uint8_t* dst,
395                            ptrdiff_t dst_stride,
396                            const InterpKernel* filter,
397                            int x0_q4,
398                            int x_step_q4,
399                            int y0_q4,
400                            int y_step_q4,
401                            int w,
402                            int h);
403 #define vpx_convolve_avg vpx_convolve_avg_sse2
404 
405 void vpx_convolve_copy_c(const uint8_t* src,
406                          ptrdiff_t src_stride,
407                          uint8_t* dst,
408                          ptrdiff_t dst_stride,
409                          const InterpKernel* filter,
410                          int x0_q4,
411                          int x_step_q4,
412                          int y0_q4,
413                          int y_step_q4,
414                          int w,
415                          int h);
416 void vpx_convolve_copy_sse2(const uint8_t* src,
417                             ptrdiff_t src_stride,
418                             uint8_t* dst,
419                             ptrdiff_t dst_stride,
420                             const InterpKernel* filter,
421                             int x0_q4,
422                             int x_step_q4,
423                             int y0_q4,
424                             int y_step_q4,
425                             int w,
426                             int h);
427 #define vpx_convolve_copy vpx_convolve_copy_sse2
428 
429 void vpx_d117_predictor_16x16_c(uint8_t* dst,
430                                 ptrdiff_t stride,
431                                 const uint8_t* above,
432                                 const uint8_t* left);
433 #define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
434 
435 void vpx_d117_predictor_32x32_c(uint8_t* dst,
436                                 ptrdiff_t stride,
437                                 const uint8_t* above,
438                                 const uint8_t* left);
439 #define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
440 
441 void vpx_d117_predictor_4x4_c(uint8_t* dst,
442                               ptrdiff_t stride,
443                               const uint8_t* above,
444                               const uint8_t* left);
445 #define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
446 
447 void vpx_d117_predictor_8x8_c(uint8_t* dst,
448                               ptrdiff_t stride,
449                               const uint8_t* above,
450                               const uint8_t* left);
451 #define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
452 
453 void vpx_d135_predictor_16x16_c(uint8_t* dst,
454                                 ptrdiff_t stride,
455                                 const uint8_t* above,
456                                 const uint8_t* left);
457 #define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c
458 
459 void vpx_d135_predictor_32x32_c(uint8_t* dst,
460                                 ptrdiff_t stride,
461                                 const uint8_t* above,
462                                 const uint8_t* left);
463 #define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c
464 
465 void vpx_d135_predictor_4x4_c(uint8_t* dst,
466                               ptrdiff_t stride,
467                               const uint8_t* above,
468                               const uint8_t* left);
469 #define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_c
470 
471 void vpx_d135_predictor_8x8_c(uint8_t* dst,
472                               ptrdiff_t stride,
473                               const uint8_t* above,
474                               const uint8_t* left);
475 #define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c
476 
477 void vpx_d153_predictor_16x16_c(uint8_t* dst,
478                                 ptrdiff_t stride,
479                                 const uint8_t* above,
480                                 const uint8_t* left);
481 void vpx_d153_predictor_16x16_ssse3(uint8_t* dst,
482                                     ptrdiff_t stride,
483                                     const uint8_t* above,
484                                     const uint8_t* left);
485 RTCD_EXTERN void (*vpx_d153_predictor_16x16)(uint8_t* dst,
486                                              ptrdiff_t stride,
487                                              const uint8_t* above,
488                                              const uint8_t* left);
489 
490 void vpx_d153_predictor_32x32_c(uint8_t* dst,
491                                 ptrdiff_t stride,
492                                 const uint8_t* above,
493                                 const uint8_t* left);
494 void vpx_d153_predictor_32x32_ssse3(uint8_t* dst,
495                                     ptrdiff_t stride,
496                                     const uint8_t* above,
497                                     const uint8_t* left);
498 RTCD_EXTERN void (*vpx_d153_predictor_32x32)(uint8_t* dst,
499                                              ptrdiff_t stride,
500                                              const uint8_t* above,
501                                              const uint8_t* left);
502 
503 void vpx_d153_predictor_4x4_c(uint8_t* dst,
504                               ptrdiff_t stride,
505                               const uint8_t* above,
506                               const uint8_t* left);
507 void vpx_d153_predictor_4x4_ssse3(uint8_t* dst,
508                                   ptrdiff_t stride,
509                                   const uint8_t* above,
510                                   const uint8_t* left);
511 RTCD_EXTERN void (*vpx_d153_predictor_4x4)(uint8_t* dst,
512                                            ptrdiff_t stride,
513                                            const uint8_t* above,
514                                            const uint8_t* left);
515 
516 void vpx_d153_predictor_8x8_c(uint8_t* dst,
517                               ptrdiff_t stride,
518                               const uint8_t* above,
519                               const uint8_t* left);
520 void vpx_d153_predictor_8x8_ssse3(uint8_t* dst,
521                                   ptrdiff_t stride,
522                                   const uint8_t* above,
523                                   const uint8_t* left);
524 RTCD_EXTERN void (*vpx_d153_predictor_8x8)(uint8_t* dst,
525                                            ptrdiff_t stride,
526                                            const uint8_t* above,
527                                            const uint8_t* left);
528 
529 void vpx_d207_predictor_16x16_c(uint8_t* dst,
530                                 ptrdiff_t stride,
531                                 const uint8_t* above,
532                                 const uint8_t* left);
533 void vpx_d207_predictor_16x16_ssse3(uint8_t* dst,
534                                     ptrdiff_t stride,
535                                     const uint8_t* above,
536                                     const uint8_t* left);
537 RTCD_EXTERN void (*vpx_d207_predictor_16x16)(uint8_t* dst,
538                                              ptrdiff_t stride,
539                                              const uint8_t* above,
540                                              const uint8_t* left);
541 
542 void vpx_d207_predictor_32x32_c(uint8_t* dst,
543                                 ptrdiff_t stride,
544                                 const uint8_t* above,
545                                 const uint8_t* left);
546 void vpx_d207_predictor_32x32_ssse3(uint8_t* dst,
547                                     ptrdiff_t stride,
548                                     const uint8_t* above,
549                                     const uint8_t* left);
550 RTCD_EXTERN void (*vpx_d207_predictor_32x32)(uint8_t* dst,
551                                              ptrdiff_t stride,
552                                              const uint8_t* above,
553                                              const uint8_t* left);
554 
555 void vpx_d207_predictor_4x4_c(uint8_t* dst,
556                               ptrdiff_t stride,
557                               const uint8_t* above,
558                               const uint8_t* left);
559 void vpx_d207_predictor_4x4_sse2(uint8_t* dst,
560                                  ptrdiff_t stride,
561                                  const uint8_t* above,
562                                  const uint8_t* left);
563 #define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_sse2
564 
565 void vpx_d207_predictor_8x8_c(uint8_t* dst,
566                               ptrdiff_t stride,
567                               const uint8_t* above,
568                               const uint8_t* left);
569 void vpx_d207_predictor_8x8_ssse3(uint8_t* dst,
570                                   ptrdiff_t stride,
571                                   const uint8_t* above,
572                                   const uint8_t* left);
573 RTCD_EXTERN void (*vpx_d207_predictor_8x8)(uint8_t* dst,
574                                            ptrdiff_t stride,
575                                            const uint8_t* above,
576                                            const uint8_t* left);
577 
578 void vpx_d45_predictor_16x16_c(uint8_t* dst,
579                                ptrdiff_t stride,
580                                const uint8_t* above,
581                                const uint8_t* left);
582 void vpx_d45_predictor_16x16_ssse3(uint8_t* dst,
583                                    ptrdiff_t stride,
584                                    const uint8_t* above,
585                                    const uint8_t* left);
586 RTCD_EXTERN void (*vpx_d45_predictor_16x16)(uint8_t* dst,
587                                             ptrdiff_t stride,
588                                             const uint8_t* above,
589                                             const uint8_t* left);
590 
591 void vpx_d45_predictor_32x32_c(uint8_t* dst,
592                                ptrdiff_t stride,
593                                const uint8_t* above,
594                                const uint8_t* left);
595 void vpx_d45_predictor_32x32_ssse3(uint8_t* dst,
596                                    ptrdiff_t stride,
597                                    const uint8_t* above,
598                                    const uint8_t* left);
599 RTCD_EXTERN void (*vpx_d45_predictor_32x32)(uint8_t* dst,
600                                             ptrdiff_t stride,
601                                             const uint8_t* above,
602                                             const uint8_t* left);
603 
604 void vpx_d45_predictor_4x4_c(uint8_t* dst,
605                              ptrdiff_t stride,
606                              const uint8_t* above,
607                              const uint8_t* left);
608 void vpx_d45_predictor_4x4_sse2(uint8_t* dst,
609                                 ptrdiff_t stride,
610                                 const uint8_t* above,
611                                 const uint8_t* left);
612 #define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_sse2
613 
614 void vpx_d45_predictor_8x8_c(uint8_t* dst,
615                              ptrdiff_t stride,
616                              const uint8_t* above,
617                              const uint8_t* left);
618 void vpx_d45_predictor_8x8_sse2(uint8_t* dst,
619                                 ptrdiff_t stride,
620                                 const uint8_t* above,
621                                 const uint8_t* left);
622 #define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_sse2
623 
624 void vpx_d45e_predictor_4x4_c(uint8_t* dst,
625                               ptrdiff_t stride,
626                               const uint8_t* above,
627                               const uint8_t* left);
628 #define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c
629 
630 void vpx_d63_predictor_16x16_c(uint8_t* dst,
631                                ptrdiff_t stride,
632                                const uint8_t* above,
633                                const uint8_t* left);
634 void vpx_d63_predictor_16x16_ssse3(uint8_t* dst,
635                                    ptrdiff_t stride,
636                                    const uint8_t* above,
637                                    const uint8_t* left);
638 RTCD_EXTERN void (*vpx_d63_predictor_16x16)(uint8_t* dst,
639                                             ptrdiff_t stride,
640                                             const uint8_t* above,
641                                             const uint8_t* left);
642 
643 void vpx_d63_predictor_32x32_c(uint8_t* dst,
644                                ptrdiff_t stride,
645                                const uint8_t* above,
646                                const uint8_t* left);
647 void vpx_d63_predictor_32x32_ssse3(uint8_t* dst,
648                                    ptrdiff_t stride,
649                                    const uint8_t* above,
650                                    const uint8_t* left);
651 RTCD_EXTERN void (*vpx_d63_predictor_32x32)(uint8_t* dst,
652                                             ptrdiff_t stride,
653                                             const uint8_t* above,
654                                             const uint8_t* left);
655 
656 void vpx_d63_predictor_4x4_c(uint8_t* dst,
657                              ptrdiff_t stride,
658                              const uint8_t* above,
659                              const uint8_t* left);
660 void vpx_d63_predictor_4x4_ssse3(uint8_t* dst,
661                                  ptrdiff_t stride,
662                                  const uint8_t* above,
663                                  const uint8_t* left);
664 RTCD_EXTERN void (*vpx_d63_predictor_4x4)(uint8_t* dst,
665                                           ptrdiff_t stride,
666                                           const uint8_t* above,
667                                           const uint8_t* left);
668 
669 void vpx_d63_predictor_8x8_c(uint8_t* dst,
670                              ptrdiff_t stride,
671                              const uint8_t* above,
672                              const uint8_t* left);
673 void vpx_d63_predictor_8x8_ssse3(uint8_t* dst,
674                                  ptrdiff_t stride,
675                                  const uint8_t* above,
676                                  const uint8_t* left);
677 RTCD_EXTERN void (*vpx_d63_predictor_8x8)(uint8_t* dst,
678                                           ptrdiff_t stride,
679                                           const uint8_t* above,
680                                           const uint8_t* left);
681 
682 void vpx_d63e_predictor_4x4_c(uint8_t* dst,
683                               ptrdiff_t stride,
684                               const uint8_t* above,
685                               const uint8_t* left);
686 #define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c
687 
688 void vpx_dc_128_predictor_16x16_c(uint8_t* dst,
689                                   ptrdiff_t stride,
690                                   const uint8_t* above,
691                                   const uint8_t* left);
692 void vpx_dc_128_predictor_16x16_sse2(uint8_t* dst,
693                                      ptrdiff_t stride,
694                                      const uint8_t* above,
695                                      const uint8_t* left);
696 #define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_sse2
697 
698 void vpx_dc_128_predictor_32x32_c(uint8_t* dst,
699                                   ptrdiff_t stride,
700                                   const uint8_t* above,
701                                   const uint8_t* left);
702 void vpx_dc_128_predictor_32x32_sse2(uint8_t* dst,
703                                      ptrdiff_t stride,
704                                      const uint8_t* above,
705                                      const uint8_t* left);
706 #define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_sse2
707 
708 void vpx_dc_128_predictor_4x4_c(uint8_t* dst,
709                                 ptrdiff_t stride,
710                                 const uint8_t* above,
711                                 const uint8_t* left);
712 void vpx_dc_128_predictor_4x4_sse2(uint8_t* dst,
713                                    ptrdiff_t stride,
714                                    const uint8_t* above,
715                                    const uint8_t* left);
716 #define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_sse2
717 
718 void vpx_dc_128_predictor_8x8_c(uint8_t* dst,
719                                 ptrdiff_t stride,
720                                 const uint8_t* above,
721                                 const uint8_t* left);
722 void vpx_dc_128_predictor_8x8_sse2(uint8_t* dst,
723                                    ptrdiff_t stride,
724                                    const uint8_t* above,
725                                    const uint8_t* left);
726 #define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_sse2
727 
728 void vpx_dc_left_predictor_16x16_c(uint8_t* dst,
729                                    ptrdiff_t stride,
730                                    const uint8_t* above,
731                                    const uint8_t* left);
732 void vpx_dc_left_predictor_16x16_sse2(uint8_t* dst,
733                                       ptrdiff_t stride,
734                                       const uint8_t* above,
735                                       const uint8_t* left);
736 #define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_sse2
737 
738 void vpx_dc_left_predictor_32x32_c(uint8_t* dst,
739                                    ptrdiff_t stride,
740                                    const uint8_t* above,
741                                    const uint8_t* left);
742 void vpx_dc_left_predictor_32x32_sse2(uint8_t* dst,
743                                       ptrdiff_t stride,
744                                       const uint8_t* above,
745                                       const uint8_t* left);
746 #define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_sse2
747 
748 void vpx_dc_left_predictor_4x4_c(uint8_t* dst,
749                                  ptrdiff_t stride,
750                                  const uint8_t* above,
751                                  const uint8_t* left);
752 void vpx_dc_left_predictor_4x4_sse2(uint8_t* dst,
753                                     ptrdiff_t stride,
754                                     const uint8_t* above,
755                                     const uint8_t* left);
756 #define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_sse2
757 
758 void vpx_dc_left_predictor_8x8_c(uint8_t* dst,
759                                  ptrdiff_t stride,
760                                  const uint8_t* above,
761                                  const uint8_t* left);
762 void vpx_dc_left_predictor_8x8_sse2(uint8_t* dst,
763                                     ptrdiff_t stride,
764                                     const uint8_t* above,
765                                     const uint8_t* left);
766 #define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_sse2
767 
768 void vpx_dc_predictor_16x16_c(uint8_t* dst,
769                               ptrdiff_t stride,
770                               const uint8_t* above,
771                               const uint8_t* left);
772 void vpx_dc_predictor_16x16_sse2(uint8_t* dst,
773                                  ptrdiff_t stride,
774                                  const uint8_t* above,
775                                  const uint8_t* left);
776 #define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_sse2
777 
778 void vpx_dc_predictor_32x32_c(uint8_t* dst,
779                               ptrdiff_t stride,
780                               const uint8_t* above,
781                               const uint8_t* left);
782 void vpx_dc_predictor_32x32_sse2(uint8_t* dst,
783                                  ptrdiff_t stride,
784                                  const uint8_t* above,
785                                  const uint8_t* left);
786 #define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_sse2
787 
788 void vpx_dc_predictor_4x4_c(uint8_t* dst,
789                             ptrdiff_t stride,
790                             const uint8_t* above,
791                             const uint8_t* left);
792 void vpx_dc_predictor_4x4_sse2(uint8_t* dst,
793                                ptrdiff_t stride,
794                                const uint8_t* above,
795                                const uint8_t* left);
796 #define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_sse2
797 
798 void vpx_dc_predictor_8x8_c(uint8_t* dst,
799                             ptrdiff_t stride,
800                             const uint8_t* above,
801                             const uint8_t* left);
802 void vpx_dc_predictor_8x8_sse2(uint8_t* dst,
803                                ptrdiff_t stride,
804                                const uint8_t* above,
805                                const uint8_t* left);
806 #define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_sse2
807 
808 void vpx_dc_top_predictor_16x16_c(uint8_t* dst,
809                                   ptrdiff_t stride,
810                                   const uint8_t* above,
811                                   const uint8_t* left);
812 void vpx_dc_top_predictor_16x16_sse2(uint8_t* dst,
813                                      ptrdiff_t stride,
814                                      const uint8_t* above,
815                                      const uint8_t* left);
816 #define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_sse2
817 
818 void vpx_dc_top_predictor_32x32_c(uint8_t* dst,
819                                   ptrdiff_t stride,
820                                   const uint8_t* above,
821                                   const uint8_t* left);
822 void vpx_dc_top_predictor_32x32_sse2(uint8_t* dst,
823                                      ptrdiff_t stride,
824                                      const uint8_t* above,
825                                      const uint8_t* left);
826 #define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_sse2
827 
828 void vpx_dc_top_predictor_4x4_c(uint8_t* dst,
829                                 ptrdiff_t stride,
830                                 const uint8_t* above,
831                                 const uint8_t* left);
832 void vpx_dc_top_predictor_4x4_sse2(uint8_t* dst,
833                                    ptrdiff_t stride,
834                                    const uint8_t* above,
835                                    const uint8_t* left);
836 #define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_sse2
837 
838 void vpx_dc_top_predictor_8x8_c(uint8_t* dst,
839                                 ptrdiff_t stride,
840                                 const uint8_t* above,
841                                 const uint8_t* left);
842 void vpx_dc_top_predictor_8x8_sse2(uint8_t* dst,
843                                    ptrdiff_t stride,
844                                    const uint8_t* above,
845                                    const uint8_t* left);
846 #define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_sse2
847 
848 void vpx_fdct16x16_c(const int16_t* input, tran_low_t* output, int stride);
849 void vpx_fdct16x16_sse2(const int16_t* input, tran_low_t* output, int stride);
850 #define vpx_fdct16x16 vpx_fdct16x16_sse2
851 
852 void vpx_fdct16x16_1_c(const int16_t* input, tran_low_t* output, int stride);
853 void vpx_fdct16x16_1_sse2(const int16_t* input, tran_low_t* output, int stride);
854 #define vpx_fdct16x16_1 vpx_fdct16x16_1_sse2
855 
856 void vpx_fdct32x32_c(const int16_t* input, tran_low_t* output, int stride);
857 void vpx_fdct32x32_sse2(const int16_t* input, tran_low_t* output, int stride);
858 #define vpx_fdct32x32 vpx_fdct32x32_sse2
859 
860 void vpx_fdct32x32_1_c(const int16_t* input, tran_low_t* output, int stride);
861 void vpx_fdct32x32_1_sse2(const int16_t* input, tran_low_t* output, int stride);
862 #define vpx_fdct32x32_1 vpx_fdct32x32_1_sse2
863 
864 void vpx_fdct32x32_rd_c(const int16_t* input, tran_low_t* output, int stride);
865 void vpx_fdct32x32_rd_sse2(const int16_t* input,
866                            tran_low_t* output,
867                            int stride);
868 #define vpx_fdct32x32_rd vpx_fdct32x32_rd_sse2
869 
870 void vpx_fdct4x4_c(const int16_t* input, tran_low_t* output, int stride);
871 void vpx_fdct4x4_sse2(const int16_t* input, tran_low_t* output, int stride);
872 #define vpx_fdct4x4 vpx_fdct4x4_sse2
873 
874 void vpx_fdct4x4_1_c(const int16_t* input, tran_low_t* output, int stride);
875 void vpx_fdct4x4_1_sse2(const int16_t* input, tran_low_t* output, int stride);
876 #define vpx_fdct4x4_1 vpx_fdct4x4_1_sse2
877 
878 void vpx_fdct8x8_c(const int16_t* input, tran_low_t* output, int stride);
879 void vpx_fdct8x8_sse2(const int16_t* input, tran_low_t* output, int stride);
880 #define vpx_fdct8x8 vpx_fdct8x8_sse2
881 
882 void vpx_fdct8x8_1_c(const int16_t* input, tran_low_t* output, int stride);
883 void vpx_fdct8x8_1_sse2(const int16_t* input, tran_low_t* output, int stride);
884 #define vpx_fdct8x8_1 vpx_fdct8x8_1_sse2
885 
886 void vpx_get16x16var_c(const uint8_t* src_ptr,
887                        int src_stride,
888                        const uint8_t* ref_ptr,
889                        int ref_stride,
890                        unsigned int* sse,
891                        int* sum);
892 void vpx_get16x16var_sse2(const uint8_t* src_ptr,
893                           int src_stride,
894                           const uint8_t* ref_ptr,
895                           int ref_stride,
896                           unsigned int* sse,
897                           int* sum);
898 void vpx_get16x16var_avx2(const uint8_t* src_ptr,
899                           int src_stride,
900                           const uint8_t* ref_ptr,
901                           int ref_stride,
902                           unsigned int* sse,
903                           int* sum);
904 RTCD_EXTERN void (*vpx_get16x16var)(const uint8_t* src_ptr,
905                                     int src_stride,
906                                     const uint8_t* ref_ptr,
907                                     int ref_stride,
908                                     unsigned int* sse,
909                                     int* sum);
910 
911 unsigned int vpx_get4x4sse_cs_c(const unsigned char* src_ptr,
912                                 int src_stride,
913                                 const unsigned char* ref_ptr,
914                                 int ref_stride);
915 #define vpx_get4x4sse_cs vpx_get4x4sse_cs_c
916 
917 void vpx_get8x8var_c(const uint8_t* src_ptr,
918                      int src_stride,
919                      const uint8_t* ref_ptr,
920                      int ref_stride,
921                      unsigned int* sse,
922                      int* sum);
923 void vpx_get8x8var_sse2(const uint8_t* src_ptr,
924                         int src_stride,
925                         const uint8_t* ref_ptr,
926                         int ref_stride,
927                         unsigned int* sse,
928                         int* sum);
929 #define vpx_get8x8var vpx_get8x8var_sse2
930 
931 unsigned int vpx_get_mb_ss_c(const int16_t*);
932 unsigned int vpx_get_mb_ss_sse2(const int16_t*);
933 #define vpx_get_mb_ss vpx_get_mb_ss_sse2
934 
935 void vpx_h_predictor_16x16_c(uint8_t* dst,
936                              ptrdiff_t stride,
937                              const uint8_t* above,
938                              const uint8_t* left);
939 void vpx_h_predictor_16x16_sse2(uint8_t* dst,
940                                 ptrdiff_t stride,
941                                 const uint8_t* above,
942                                 const uint8_t* left);
943 #define vpx_h_predictor_16x16 vpx_h_predictor_16x16_sse2
944 
945 void vpx_h_predictor_32x32_c(uint8_t* dst,
946                              ptrdiff_t stride,
947                              const uint8_t* above,
948                              const uint8_t* left);
949 void vpx_h_predictor_32x32_sse2(uint8_t* dst,
950                                 ptrdiff_t stride,
951                                 const uint8_t* above,
952                                 const uint8_t* left);
953 #define vpx_h_predictor_32x32 vpx_h_predictor_32x32_sse2
954 
955 void vpx_h_predictor_4x4_c(uint8_t* dst,
956                            ptrdiff_t stride,
957                            const uint8_t* above,
958                            const uint8_t* left);
959 void vpx_h_predictor_4x4_sse2(uint8_t* dst,
960                               ptrdiff_t stride,
961                               const uint8_t* above,
962                               const uint8_t* left);
963 #define vpx_h_predictor_4x4 vpx_h_predictor_4x4_sse2
964 
965 void vpx_h_predictor_8x8_c(uint8_t* dst,
966                            ptrdiff_t stride,
967                            const uint8_t* above,
968                            const uint8_t* left);
969 void vpx_h_predictor_8x8_sse2(uint8_t* dst,
970                               ptrdiff_t stride,
971                               const uint8_t* above,
972                               const uint8_t* left);
973 #define vpx_h_predictor_8x8 vpx_h_predictor_8x8_sse2
974 
975 void vpx_hadamard_16x16_c(const int16_t* src_diff,
976                           ptrdiff_t src_stride,
977                           tran_low_t* coeff);
978 void vpx_hadamard_16x16_sse2(const int16_t* src_diff,
979                              ptrdiff_t src_stride,
980                              tran_low_t* coeff);
981 void vpx_hadamard_16x16_avx2(const int16_t* src_diff,
982                              ptrdiff_t src_stride,
983                              tran_low_t* coeff);
984 RTCD_EXTERN void (*vpx_hadamard_16x16)(const int16_t* src_diff,
985                                        ptrdiff_t src_stride,
986                                        tran_low_t* coeff);
987 
988 void vpx_hadamard_32x32_c(const int16_t* src_diff,
989                           ptrdiff_t src_stride,
990                           tran_low_t* coeff);
991 void vpx_hadamard_32x32_sse2(const int16_t* src_diff,
992                              ptrdiff_t src_stride,
993                              tran_low_t* coeff);
994 void vpx_hadamard_32x32_avx2(const int16_t* src_diff,
995                              ptrdiff_t src_stride,
996                              tran_low_t* coeff);
997 RTCD_EXTERN void (*vpx_hadamard_32x32)(const int16_t* src_diff,
998                                        ptrdiff_t src_stride,
999                                        tran_low_t* coeff);
1000 
1001 void vpx_hadamard_8x8_c(const int16_t* src_diff,
1002                         ptrdiff_t src_stride,
1003                         tran_low_t* coeff);
1004 void vpx_hadamard_8x8_sse2(const int16_t* src_diff,
1005                            ptrdiff_t src_stride,
1006                            tran_low_t* coeff);
1007 void vpx_hadamard_8x8_ssse3(const int16_t* src_diff,
1008                             ptrdiff_t src_stride,
1009                             tran_low_t* coeff);
1010 RTCD_EXTERN void (*vpx_hadamard_8x8)(const int16_t* src_diff,
1011                                      ptrdiff_t src_stride,
1012                                      tran_low_t* coeff);
1013 
1014 void vpx_he_predictor_4x4_c(uint8_t* dst,
1015                             ptrdiff_t stride,
1016                             const uint8_t* above,
1017                             const uint8_t* left);
1018 #define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c
1019 
1020 void vpx_highbd_10_get16x16var_c(const uint8_t* src_ptr,
1021                                  int src_stride,
1022                                  const uint8_t* ref_ptr,
1023                                  int ref_stride,
1024                                  unsigned int* sse,
1025                                  int* sum);
1026 void vpx_highbd_10_get16x16var_sse2(const uint8_t* src_ptr,
1027                                     int src_stride,
1028                                     const uint8_t* ref_ptr,
1029                                     int ref_stride,
1030                                     unsigned int* sse,
1031                                     int* sum);
1032 #define vpx_highbd_10_get16x16var vpx_highbd_10_get16x16var_sse2
1033 
1034 void vpx_highbd_10_get8x8var_c(const uint8_t* src_ptr,
1035                                int src_stride,
1036                                const uint8_t* ref_ptr,
1037                                int ref_stride,
1038                                unsigned int* sse,
1039                                int* sum);
1040 void vpx_highbd_10_get8x8var_sse2(const uint8_t* src_ptr,
1041                                   int src_stride,
1042                                   const uint8_t* ref_ptr,
1043                                   int ref_stride,
1044                                   unsigned int* sse,
1045                                   int* sum);
1046 #define vpx_highbd_10_get8x8var vpx_highbd_10_get8x8var_sse2
1047 
1048 unsigned int vpx_highbd_10_mse16x16_c(const uint8_t* src_ptr,
1049                                       int src_stride,
1050                                       const uint8_t* ref_ptr,
1051                                       int ref_stride,
1052                                       unsigned int* sse);
1053 unsigned int vpx_highbd_10_mse16x16_sse2(const uint8_t* src_ptr,
1054                                          int src_stride,
1055                                          const uint8_t* ref_ptr,
1056                                          int ref_stride,
1057                                          unsigned int* sse);
1058 #define vpx_highbd_10_mse16x16 vpx_highbd_10_mse16x16_sse2
1059 
1060 unsigned int vpx_highbd_10_mse16x8_c(const uint8_t* src_ptr,
1061                                      int src_stride,
1062                                      const uint8_t* ref_ptr,
1063                                      int ref_stride,
1064                                      unsigned int* sse);
1065 #define vpx_highbd_10_mse16x8 vpx_highbd_10_mse16x8_c
1066 
1067 unsigned int vpx_highbd_10_mse8x16_c(const uint8_t* src_ptr,
1068                                      int src_stride,
1069                                      const uint8_t* ref_ptr,
1070                                      int ref_stride,
1071                                      unsigned int* sse);
1072 #define vpx_highbd_10_mse8x16 vpx_highbd_10_mse8x16_c
1073 
1074 unsigned int vpx_highbd_10_mse8x8_c(const uint8_t* src_ptr,
1075                                     int src_stride,
1076                                     const uint8_t* ref_ptr,
1077                                     int ref_stride,
1078                                     unsigned int* sse);
1079 unsigned int vpx_highbd_10_mse8x8_sse2(const uint8_t* src_ptr,
1080                                        int src_stride,
1081                                        const uint8_t* ref_ptr,
1082                                        int ref_stride,
1083                                        unsigned int* sse);
1084 #define vpx_highbd_10_mse8x8 vpx_highbd_10_mse8x8_sse2
1085 
1086 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x16_c(
1087     const uint8_t* src_ptr,
1088     int src_stride,
1089     int x_offset,
1090     int y_offset,
1091     const uint8_t* ref_ptr,
1092     int ref_stride,
1093     uint32_t* sse,
1094     const uint8_t* second_pred);
1095 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x16_sse2(
1096     const uint8_t* src_ptr,
1097     int src_stride,
1098     int x_offset,
1099     int y_offset,
1100     const uint8_t* ref_ptr,
1101     int ref_stride,
1102     uint32_t* sse,
1103     const uint8_t* second_pred);
1104 #define vpx_highbd_10_sub_pixel_avg_variance16x16 \
1105   vpx_highbd_10_sub_pixel_avg_variance16x16_sse2
1106 
1107 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x32_c(
1108     const uint8_t* src_ptr,
1109     int src_stride,
1110     int x_offset,
1111     int y_offset,
1112     const uint8_t* ref_ptr,
1113     int ref_stride,
1114     uint32_t* sse,
1115     const uint8_t* second_pred);
1116 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x32_sse2(
1117     const uint8_t* src_ptr,
1118     int src_stride,
1119     int x_offset,
1120     int y_offset,
1121     const uint8_t* ref_ptr,
1122     int ref_stride,
1123     uint32_t* sse,
1124     const uint8_t* second_pred);
1125 #define vpx_highbd_10_sub_pixel_avg_variance16x32 \
1126   vpx_highbd_10_sub_pixel_avg_variance16x32_sse2
1127 
1128 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr,
1129                                                     int src_stride,
1130                                                     int x_offset,
1131                                                     int y_offset,
1132                                                     const uint8_t* ref_ptr,
1133                                                     int ref_stride,
1134                                                     uint32_t* sse,
1135                                                     const uint8_t* second_pred);
1136 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x8_sse2(
1137     const uint8_t* src_ptr,
1138     int src_stride,
1139     int x_offset,
1140     int y_offset,
1141     const uint8_t* ref_ptr,
1142     int ref_stride,
1143     uint32_t* sse,
1144     const uint8_t* second_pred);
1145 #define vpx_highbd_10_sub_pixel_avg_variance16x8 \
1146   vpx_highbd_10_sub_pixel_avg_variance16x8_sse2
1147 
1148 uint32_t vpx_highbd_10_sub_pixel_avg_variance32x16_c(
1149     const uint8_t* src_ptr,
1150     int src_stride,
1151     int x_offset,
1152     int y_offset,
1153     const uint8_t* ref_ptr,
1154     int ref_stride,
1155     uint32_t* sse,
1156     const uint8_t* second_pred);
1157 uint32_t vpx_highbd_10_sub_pixel_avg_variance32x16_sse2(
1158     const uint8_t* src_ptr,
1159     int src_stride,
1160     int x_offset,
1161     int y_offset,
1162     const uint8_t* ref_ptr,
1163     int ref_stride,
1164     uint32_t* sse,
1165     const uint8_t* second_pred);
1166 #define vpx_highbd_10_sub_pixel_avg_variance32x16 \
1167   vpx_highbd_10_sub_pixel_avg_variance32x16_sse2
1168 
1169 uint32_t vpx_highbd_10_sub_pixel_avg_variance32x32_c(
1170     const uint8_t* src_ptr,
1171     int src_stride,
1172     int x_offset,
1173     int y_offset,
1174     const uint8_t* ref_ptr,
1175     int ref_stride,
1176     uint32_t* sse,
1177     const uint8_t* second_pred);
1178 uint32_t vpx_highbd_10_sub_pixel_avg_variance32x32_sse2(
1179     const uint8_t* src_ptr,
1180     int src_stride,
1181     int x_offset,
1182     int y_offset,
1183     const uint8_t* ref_ptr,
1184     int ref_stride,
1185     uint32_t* sse,
1186     const uint8_t* second_pred);
1187 #define vpx_highbd_10_sub_pixel_avg_variance32x32 \
1188   vpx_highbd_10_sub_pixel_avg_variance32x32_sse2
1189 
1190 uint32_t vpx_highbd_10_sub_pixel_avg_variance32x64_c(
1191     const uint8_t* src_ptr,
1192     int src_stride,
1193     int x_offset,
1194     int y_offset,
1195     const uint8_t* ref_ptr,
1196     int ref_stride,
1197     uint32_t* sse,
1198     const uint8_t* second_pred);
1199 uint32_t vpx_highbd_10_sub_pixel_avg_variance32x64_sse2(
1200     const uint8_t* src_ptr,
1201     int src_stride,
1202     int x_offset,
1203     int y_offset,
1204     const uint8_t* ref_ptr,
1205     int ref_stride,
1206     uint32_t* sse,
1207     const uint8_t* second_pred);
1208 #define vpx_highbd_10_sub_pixel_avg_variance32x64 \
1209   vpx_highbd_10_sub_pixel_avg_variance32x64_sse2
1210 
1211 uint32_t vpx_highbd_10_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr,
1212                                                    int src_stride,
1213                                                    int x_offset,
1214                                                    int y_offset,
1215                                                    const uint8_t* ref_ptr,
1216                                                    int ref_stride,
1217                                                    uint32_t* sse,
1218                                                    const uint8_t* second_pred);
1219 #define vpx_highbd_10_sub_pixel_avg_variance4x4 \
1220   vpx_highbd_10_sub_pixel_avg_variance4x4_c
1221 
1222 uint32_t vpx_highbd_10_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr,
1223                                                    int src_stride,
1224                                                    int x_offset,
1225                                                    int y_offset,
1226                                                    const uint8_t* ref_ptr,
1227                                                    int ref_stride,
1228                                                    uint32_t* sse,
1229                                                    const uint8_t* second_pred);
1230 #define vpx_highbd_10_sub_pixel_avg_variance4x8 \
1231   vpx_highbd_10_sub_pixel_avg_variance4x8_c
1232 
1233 uint32_t vpx_highbd_10_sub_pixel_avg_variance64x32_c(
1234     const uint8_t* src_ptr,
1235     int src_stride,
1236     int x_offset,
1237     int y_offset,
1238     const uint8_t* ref_ptr,
1239     int ref_stride,
1240     uint32_t* sse,
1241     const uint8_t* second_pred);
1242 uint32_t vpx_highbd_10_sub_pixel_avg_variance64x32_sse2(
1243     const uint8_t* src_ptr,
1244     int src_stride,
1245     int x_offset,
1246     int y_offset,
1247     const uint8_t* ref_ptr,
1248     int ref_stride,
1249     uint32_t* sse,
1250     const uint8_t* second_pred);
1251 #define vpx_highbd_10_sub_pixel_avg_variance64x32 \
1252   vpx_highbd_10_sub_pixel_avg_variance64x32_sse2
1253 
1254 uint32_t vpx_highbd_10_sub_pixel_avg_variance64x64_c(
1255     const uint8_t* src_ptr,
1256     int src_stride,
1257     int x_offset,
1258     int y_offset,
1259     const uint8_t* ref_ptr,
1260     int ref_stride,
1261     uint32_t* sse,
1262     const uint8_t* second_pred);
1263 uint32_t vpx_highbd_10_sub_pixel_avg_variance64x64_sse2(
1264     const uint8_t* src_ptr,
1265     int src_stride,
1266     int x_offset,
1267     int y_offset,
1268     const uint8_t* ref_ptr,
1269     int ref_stride,
1270     uint32_t* sse,
1271     const uint8_t* second_pred);
1272 #define vpx_highbd_10_sub_pixel_avg_variance64x64 \
1273   vpx_highbd_10_sub_pixel_avg_variance64x64_sse2
1274 
1275 uint32_t vpx_highbd_10_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr,
1276                                                     int src_stride,
1277                                                     int x_offset,
1278                                                     int y_offset,
1279                                                     const uint8_t* ref_ptr,
1280                                                     int ref_stride,
1281                                                     uint32_t* sse,
1282                                                     const uint8_t* second_pred);
1283 uint32_t vpx_highbd_10_sub_pixel_avg_variance8x16_sse2(
1284     const uint8_t* src_ptr,
1285     int src_stride,
1286     int x_offset,
1287     int y_offset,
1288     const uint8_t* ref_ptr,
1289     int ref_stride,
1290     uint32_t* sse,
1291     const uint8_t* second_pred);
1292 #define vpx_highbd_10_sub_pixel_avg_variance8x16 \
1293   vpx_highbd_10_sub_pixel_avg_variance8x16_sse2
1294 
1295 uint32_t vpx_highbd_10_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr,
1296                                                    int src_stride,
1297                                                    int x_offset,
1298                                                    int y_offset,
1299                                                    const uint8_t* ref_ptr,
1300                                                    int ref_stride,
1301                                                    uint32_t* sse,
1302                                                    const uint8_t* second_pred);
1303 uint32_t vpx_highbd_10_sub_pixel_avg_variance8x4_sse2(
1304     const uint8_t* src_ptr,
1305     int src_stride,
1306     int x_offset,
1307     int y_offset,
1308     const uint8_t* ref_ptr,
1309     int ref_stride,
1310     uint32_t* sse,
1311     const uint8_t* second_pred);
1312 #define vpx_highbd_10_sub_pixel_avg_variance8x4 \
1313   vpx_highbd_10_sub_pixel_avg_variance8x4_sse2
1314 
1315 uint32_t vpx_highbd_10_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr,
1316                                                    int src_stride,
1317                                                    int x_offset,
1318                                                    int y_offset,
1319                                                    const uint8_t* ref_ptr,
1320                                                    int ref_stride,
1321                                                    uint32_t* sse,
1322                                                    const uint8_t* second_pred);
1323 uint32_t vpx_highbd_10_sub_pixel_avg_variance8x8_sse2(
1324     const uint8_t* src_ptr,
1325     int src_stride,
1326     int x_offset,
1327     int y_offset,
1328     const uint8_t* ref_ptr,
1329     int ref_stride,
1330     uint32_t* sse,
1331     const uint8_t* second_pred);
1332 #define vpx_highbd_10_sub_pixel_avg_variance8x8 \
1333   vpx_highbd_10_sub_pixel_avg_variance8x8_sse2
1334 
1335 uint32_t vpx_highbd_10_sub_pixel_variance16x16_c(const uint8_t* src_ptr,
1336                                                  int src_stride,
1337                                                  int x_offset,
1338                                                  int y_offset,
1339                                                  const uint8_t* ref_ptr,
1340                                                  int ref_stride,
1341                                                  uint32_t* sse);
1342 uint32_t vpx_highbd_10_sub_pixel_variance16x16_sse2(const uint8_t* src_ptr,
1343                                                     int src_stride,
1344                                                     int x_offset,
1345                                                     int y_offset,
1346                                                     const uint8_t* ref_ptr,
1347                                                     int ref_stride,
1348                                                     uint32_t* sse);
1349 #define vpx_highbd_10_sub_pixel_variance16x16 \
1350   vpx_highbd_10_sub_pixel_variance16x16_sse2
1351 
1352 uint32_t vpx_highbd_10_sub_pixel_variance16x32_c(const uint8_t* src_ptr,
1353                                                  int src_stride,
1354                                                  int x_offset,
1355                                                  int y_offset,
1356                                                  const uint8_t* ref_ptr,
1357                                                  int ref_stride,
1358                                                  uint32_t* sse);
1359 uint32_t vpx_highbd_10_sub_pixel_variance16x32_sse2(const uint8_t* src_ptr,
1360                                                     int src_stride,
1361                                                     int x_offset,
1362                                                     int y_offset,
1363                                                     const uint8_t* ref_ptr,
1364                                                     int ref_stride,
1365                                                     uint32_t* sse);
1366 #define vpx_highbd_10_sub_pixel_variance16x32 \
1367   vpx_highbd_10_sub_pixel_variance16x32_sse2
1368 
1369 uint32_t vpx_highbd_10_sub_pixel_variance16x8_c(const uint8_t* src_ptr,
1370                                                 int src_stride,
1371                                                 int x_offset,
1372                                                 int y_offset,
1373                                                 const uint8_t* ref_ptr,
1374                                                 int ref_stride,
1375                                                 uint32_t* sse);
1376 uint32_t vpx_highbd_10_sub_pixel_variance16x8_sse2(const uint8_t* src_ptr,
1377                                                    int src_stride,
1378                                                    int x_offset,
1379                                                    int y_offset,
1380                                                    const uint8_t* ref_ptr,
1381                                                    int ref_stride,
1382                                                    uint32_t* sse);
1383 #define vpx_highbd_10_sub_pixel_variance16x8 \
1384   vpx_highbd_10_sub_pixel_variance16x8_sse2
1385 
1386 uint32_t vpx_highbd_10_sub_pixel_variance32x16_c(const uint8_t* src_ptr,
1387                                                  int src_stride,
1388                                                  int x_offset,
1389                                                  int y_offset,
1390                                                  const uint8_t* ref_ptr,
1391                                                  int ref_stride,
1392                                                  uint32_t* sse);
1393 uint32_t vpx_highbd_10_sub_pixel_variance32x16_sse2(const uint8_t* src_ptr,
1394                                                     int src_stride,
1395                                                     int x_offset,
1396                                                     int y_offset,
1397                                                     const uint8_t* ref_ptr,
1398                                                     int ref_stride,
1399                                                     uint32_t* sse);
1400 #define vpx_highbd_10_sub_pixel_variance32x16 \
1401   vpx_highbd_10_sub_pixel_variance32x16_sse2
1402 
1403 uint32_t vpx_highbd_10_sub_pixel_variance32x32_c(const uint8_t* src_ptr,
1404                                                  int src_stride,
1405                                                  int x_offset,
1406                                                  int y_offset,
1407                                                  const uint8_t* ref_ptr,
1408                                                  int ref_stride,
1409                                                  uint32_t* sse);
1410 uint32_t vpx_highbd_10_sub_pixel_variance32x32_sse2(const uint8_t* src_ptr,
1411                                                     int src_stride,
1412                                                     int x_offset,
1413                                                     int y_offset,
1414                                                     const uint8_t* ref_ptr,
1415                                                     int ref_stride,
1416                                                     uint32_t* sse);
1417 #define vpx_highbd_10_sub_pixel_variance32x32 \
1418   vpx_highbd_10_sub_pixel_variance32x32_sse2
1419 
1420 uint32_t vpx_highbd_10_sub_pixel_variance32x64_c(const uint8_t* src_ptr,
1421                                                  int src_stride,
1422                                                  int x_offset,
1423                                                  int y_offset,
1424                                                  const uint8_t* ref_ptr,
1425                                                  int ref_stride,
1426                                                  uint32_t* sse);
1427 uint32_t vpx_highbd_10_sub_pixel_variance32x64_sse2(const uint8_t* src_ptr,
1428                                                     int src_stride,
1429                                                     int x_offset,
1430                                                     int y_offset,
1431                                                     const uint8_t* ref_ptr,
1432                                                     int ref_stride,
1433                                                     uint32_t* sse);
1434 #define vpx_highbd_10_sub_pixel_variance32x64 \
1435   vpx_highbd_10_sub_pixel_variance32x64_sse2
1436 
1437 uint32_t vpx_highbd_10_sub_pixel_variance4x4_c(const uint8_t* src_ptr,
1438                                                int src_stride,
1439                                                int x_offset,
1440                                                int y_offset,
1441                                                const uint8_t* ref_ptr,
1442                                                int ref_stride,
1443                                                uint32_t* sse);
1444 #define vpx_highbd_10_sub_pixel_variance4x4 \
1445   vpx_highbd_10_sub_pixel_variance4x4_c
1446 
1447 uint32_t vpx_highbd_10_sub_pixel_variance4x8_c(const uint8_t* src_ptr,
1448                                                int src_stride,
1449                                                int x_offset,
1450                                                int y_offset,
1451                                                const uint8_t* ref_ptr,
1452                                                int ref_stride,
1453                                                uint32_t* sse);
1454 #define vpx_highbd_10_sub_pixel_variance4x8 \
1455   vpx_highbd_10_sub_pixel_variance4x8_c
1456 
1457 uint32_t vpx_highbd_10_sub_pixel_variance64x32_c(const uint8_t* src_ptr,
1458                                                  int src_stride,
1459                                                  int x_offset,
1460                                                  int y_offset,
1461                                                  const uint8_t* ref_ptr,
1462                                                  int ref_stride,
1463                                                  uint32_t* sse);
1464 uint32_t vpx_highbd_10_sub_pixel_variance64x32_sse2(const uint8_t* src_ptr,
1465                                                     int src_stride,
1466                                                     int x_offset,
1467                                                     int y_offset,
1468                                                     const uint8_t* ref_ptr,
1469                                                     int ref_stride,
1470                                                     uint32_t* sse);
1471 #define vpx_highbd_10_sub_pixel_variance64x32 \
1472   vpx_highbd_10_sub_pixel_variance64x32_sse2
1473 
1474 uint32_t vpx_highbd_10_sub_pixel_variance64x64_c(const uint8_t* src_ptr,
1475                                                  int src_stride,
1476                                                  int x_offset,
1477                                                  int y_offset,
1478                                                  const uint8_t* ref_ptr,
1479                                                  int ref_stride,
1480                                                  uint32_t* sse);
1481 uint32_t vpx_highbd_10_sub_pixel_variance64x64_sse2(const uint8_t* src_ptr,
1482                                                     int src_stride,
1483                                                     int x_offset,
1484                                                     int y_offset,
1485                                                     const uint8_t* ref_ptr,
1486                                                     int ref_stride,
1487                                                     uint32_t* sse);
1488 #define vpx_highbd_10_sub_pixel_variance64x64 \
1489   vpx_highbd_10_sub_pixel_variance64x64_sse2
1490 
1491 uint32_t vpx_highbd_10_sub_pixel_variance8x16_c(const uint8_t* src_ptr,
1492                                                 int src_stride,
1493                                                 int x_offset,
1494                                                 int y_offset,
1495                                                 const uint8_t* ref_ptr,
1496                                                 int ref_stride,
1497                                                 uint32_t* sse);
1498 uint32_t vpx_highbd_10_sub_pixel_variance8x16_sse2(const uint8_t* src_ptr,
1499                                                    int src_stride,
1500                                                    int x_offset,
1501                                                    int y_offset,
1502                                                    const uint8_t* ref_ptr,
1503                                                    int ref_stride,
1504                                                    uint32_t* sse);
1505 #define vpx_highbd_10_sub_pixel_variance8x16 \
1506   vpx_highbd_10_sub_pixel_variance8x16_sse2
1507 
1508 uint32_t vpx_highbd_10_sub_pixel_variance8x4_c(const uint8_t* src_ptr,
1509                                                int src_stride,
1510                                                int x_offset,
1511                                                int y_offset,
1512                                                const uint8_t* ref_ptr,
1513                                                int ref_stride,
1514                                                uint32_t* sse);
1515 uint32_t vpx_highbd_10_sub_pixel_variance8x4_sse2(const uint8_t* src_ptr,
1516                                                   int src_stride,
1517                                                   int x_offset,
1518                                                   int y_offset,
1519                                                   const uint8_t* ref_ptr,
1520                                                   int ref_stride,
1521                                                   uint32_t* sse);
1522 #define vpx_highbd_10_sub_pixel_variance8x4 \
1523   vpx_highbd_10_sub_pixel_variance8x4_sse2
1524 
1525 uint32_t vpx_highbd_10_sub_pixel_variance8x8_c(const uint8_t* src_ptr,
1526                                                int src_stride,
1527                                                int x_offset,
1528                                                int y_offset,
1529                                                const uint8_t* ref_ptr,
1530                                                int ref_stride,
1531                                                uint32_t* sse);
1532 uint32_t vpx_highbd_10_sub_pixel_variance8x8_sse2(const uint8_t* src_ptr,
1533                                                   int src_stride,
1534                                                   int x_offset,
1535                                                   int y_offset,
1536                                                   const uint8_t* ref_ptr,
1537                                                   int ref_stride,
1538                                                   uint32_t* sse);
1539 #define vpx_highbd_10_sub_pixel_variance8x8 \
1540   vpx_highbd_10_sub_pixel_variance8x8_sse2
1541 
1542 unsigned int vpx_highbd_10_variance16x16_c(const uint8_t* src_ptr,
1543                                            int src_stride,
1544                                            const uint8_t* ref_ptr,
1545                                            int ref_stride,
1546                                            unsigned int* sse);
1547 unsigned int vpx_highbd_10_variance16x16_sse2(const uint8_t* src_ptr,
1548                                               int src_stride,
1549                                               const uint8_t* ref_ptr,
1550                                               int ref_stride,
1551                                               unsigned int* sse);
1552 #define vpx_highbd_10_variance16x16 vpx_highbd_10_variance16x16_sse2
1553 
1554 unsigned int vpx_highbd_10_variance16x32_c(const uint8_t* src_ptr,
1555                                            int src_stride,
1556                                            const uint8_t* ref_ptr,
1557                                            int ref_stride,
1558                                            unsigned int* sse);
1559 unsigned int vpx_highbd_10_variance16x32_sse2(const uint8_t* src_ptr,
1560                                               int src_stride,
1561                                               const uint8_t* ref_ptr,
1562                                               int ref_stride,
1563                                               unsigned int* sse);
1564 #define vpx_highbd_10_variance16x32 vpx_highbd_10_variance16x32_sse2
1565 
1566 unsigned int vpx_highbd_10_variance16x8_c(const uint8_t* src_ptr,
1567                                           int src_stride,
1568                                           const uint8_t* ref_ptr,
1569                                           int ref_stride,
1570                                           unsigned int* sse);
1571 unsigned int vpx_highbd_10_variance16x8_sse2(const uint8_t* src_ptr,
1572                                              int src_stride,
1573                                              const uint8_t* ref_ptr,
1574                                              int ref_stride,
1575                                              unsigned int* sse);
1576 #define vpx_highbd_10_variance16x8 vpx_highbd_10_variance16x8_sse2
1577 
1578 unsigned int vpx_highbd_10_variance32x16_c(const uint8_t* src_ptr,
1579                                            int src_stride,
1580                                            const uint8_t* ref_ptr,
1581                                            int ref_stride,
1582                                            unsigned int* sse);
1583 unsigned int vpx_highbd_10_variance32x16_sse2(const uint8_t* src_ptr,
1584                                               int src_stride,
1585                                               const uint8_t* ref_ptr,
1586                                               int ref_stride,
1587                                               unsigned int* sse);
1588 #define vpx_highbd_10_variance32x16 vpx_highbd_10_variance32x16_sse2
1589 
1590 unsigned int vpx_highbd_10_variance32x32_c(const uint8_t* src_ptr,
1591                                            int src_stride,
1592                                            const uint8_t* ref_ptr,
1593                                            int ref_stride,
1594                                            unsigned int* sse);
1595 unsigned int vpx_highbd_10_variance32x32_sse2(const uint8_t* src_ptr,
1596                                               int src_stride,
1597                                               const uint8_t* ref_ptr,
1598                                               int ref_stride,
1599                                               unsigned int* sse);
1600 #define vpx_highbd_10_variance32x32 vpx_highbd_10_variance32x32_sse2
1601 
1602 unsigned int vpx_highbd_10_variance32x64_c(const uint8_t* src_ptr,
1603                                            int src_stride,
1604                                            const uint8_t* ref_ptr,
1605                                            int ref_stride,
1606                                            unsigned int* sse);
1607 unsigned int vpx_highbd_10_variance32x64_sse2(const uint8_t* src_ptr,
1608                                               int src_stride,
1609                                               const uint8_t* ref_ptr,
1610                                               int ref_stride,
1611                                               unsigned int* sse);
1612 #define vpx_highbd_10_variance32x64 vpx_highbd_10_variance32x64_sse2
1613 
1614 unsigned int vpx_highbd_10_variance4x4_c(const uint8_t* src_ptr,
1615                                          int src_stride,
1616                                          const uint8_t* ref_ptr,
1617                                          int ref_stride,
1618                                          unsigned int* sse);
1619 #define vpx_highbd_10_variance4x4 vpx_highbd_10_variance4x4_c
1620 
1621 unsigned int vpx_highbd_10_variance4x8_c(const uint8_t* src_ptr,
1622                                          int src_stride,
1623                                          const uint8_t* ref_ptr,
1624                                          int ref_stride,
1625                                          unsigned int* sse);
1626 #define vpx_highbd_10_variance4x8 vpx_highbd_10_variance4x8_c
1627 
1628 unsigned int vpx_highbd_10_variance64x32_c(const uint8_t* src_ptr,
1629                                            int src_stride,
1630                                            const uint8_t* ref_ptr,
1631                                            int ref_stride,
1632                                            unsigned int* sse);
1633 unsigned int vpx_highbd_10_variance64x32_sse2(const uint8_t* src_ptr,
1634                                               int src_stride,
1635                                               const uint8_t* ref_ptr,
1636                                               int ref_stride,
1637                                               unsigned int* sse);
1638 #define vpx_highbd_10_variance64x32 vpx_highbd_10_variance64x32_sse2
1639 
1640 unsigned int vpx_highbd_10_variance64x64_c(const uint8_t* src_ptr,
1641                                            int src_stride,
1642                                            const uint8_t* ref_ptr,
1643                                            int ref_stride,
1644                                            unsigned int* sse);
1645 unsigned int vpx_highbd_10_variance64x64_sse2(const uint8_t* src_ptr,
1646                                               int src_stride,
1647                                               const uint8_t* ref_ptr,
1648                                               int ref_stride,
1649                                               unsigned int* sse);
1650 #define vpx_highbd_10_variance64x64 vpx_highbd_10_variance64x64_sse2
1651 
1652 unsigned int vpx_highbd_10_variance8x16_c(const uint8_t* src_ptr,
1653                                           int src_stride,
1654                                           const uint8_t* ref_ptr,
1655                                           int ref_stride,
1656                                           unsigned int* sse);
1657 unsigned int vpx_highbd_10_variance8x16_sse2(const uint8_t* src_ptr,
1658                                              int src_stride,
1659                                              const uint8_t* ref_ptr,
1660                                              int ref_stride,
1661                                              unsigned int* sse);
1662 #define vpx_highbd_10_variance8x16 vpx_highbd_10_variance8x16_sse2
1663 
1664 unsigned int vpx_highbd_10_variance8x4_c(const uint8_t* src_ptr,
1665                                          int src_stride,
1666                                          const uint8_t* ref_ptr,
1667                                          int ref_stride,
1668                                          unsigned int* sse);
1669 #define vpx_highbd_10_variance8x4 vpx_highbd_10_variance8x4_c
1670 
1671 unsigned int vpx_highbd_10_variance8x8_c(const uint8_t* src_ptr,
1672                                          int src_stride,
1673                                          const uint8_t* ref_ptr,
1674                                          int ref_stride,
1675                                          unsigned int* sse);
1676 unsigned int vpx_highbd_10_variance8x8_sse2(const uint8_t* src_ptr,
1677                                             int src_stride,
1678                                             const uint8_t* ref_ptr,
1679                                             int ref_stride,
1680                                             unsigned int* sse);
1681 #define vpx_highbd_10_variance8x8 vpx_highbd_10_variance8x8_sse2
1682 
1683 void vpx_highbd_12_get16x16var_c(const uint8_t* src_ptr,
1684                                  int src_stride,
1685                                  const uint8_t* ref_ptr,
1686                                  int ref_stride,
1687                                  unsigned int* sse,
1688                                  int* sum);
1689 void vpx_highbd_12_get16x16var_sse2(const uint8_t* src_ptr,
1690                                     int src_stride,
1691                                     const uint8_t* ref_ptr,
1692                                     int ref_stride,
1693                                     unsigned int* sse,
1694                                     int* sum);
1695 #define vpx_highbd_12_get16x16var vpx_highbd_12_get16x16var_sse2
1696 
1697 void vpx_highbd_12_get8x8var_c(const uint8_t* src_ptr,
1698                                int src_stride,
1699                                const uint8_t* ref_ptr,
1700                                int ref_stride,
1701                                unsigned int* sse,
1702                                int* sum);
1703 void vpx_highbd_12_get8x8var_sse2(const uint8_t* src_ptr,
1704                                   int src_stride,
1705                                   const uint8_t* ref_ptr,
1706                                   int ref_stride,
1707                                   unsigned int* sse,
1708                                   int* sum);
1709 #define vpx_highbd_12_get8x8var vpx_highbd_12_get8x8var_sse2
1710 
1711 unsigned int vpx_highbd_12_mse16x16_c(const uint8_t* src_ptr,
1712                                       int src_stride,
1713                                       const uint8_t* ref_ptr,
1714                                       int ref_stride,
1715                                       unsigned int* sse);
1716 unsigned int vpx_highbd_12_mse16x16_sse2(const uint8_t* src_ptr,
1717                                          int src_stride,
1718                                          const uint8_t* ref_ptr,
1719                                          int ref_stride,
1720                                          unsigned int* sse);
1721 #define vpx_highbd_12_mse16x16 vpx_highbd_12_mse16x16_sse2
1722 
1723 unsigned int vpx_highbd_12_mse16x8_c(const uint8_t* src_ptr,
1724                                      int src_stride,
1725                                      const uint8_t* ref_ptr,
1726                                      int ref_stride,
1727                                      unsigned int* sse);
1728 #define vpx_highbd_12_mse16x8 vpx_highbd_12_mse16x8_c
1729 
1730 unsigned int vpx_highbd_12_mse8x16_c(const uint8_t* src_ptr,
1731                                      int src_stride,
1732                                      const uint8_t* ref_ptr,
1733                                      int ref_stride,
1734                                      unsigned int* sse);
1735 #define vpx_highbd_12_mse8x16 vpx_highbd_12_mse8x16_c
1736 
1737 unsigned int vpx_highbd_12_mse8x8_c(const uint8_t* src_ptr,
1738                                     int src_stride,
1739                                     const uint8_t* ref_ptr,
1740                                     int ref_stride,
1741                                     unsigned int* sse);
1742 unsigned int vpx_highbd_12_mse8x8_sse2(const uint8_t* src_ptr,
1743                                        int src_stride,
1744                                        const uint8_t* ref_ptr,
1745                                        int ref_stride,
1746                                        unsigned int* sse);
1747 #define vpx_highbd_12_mse8x8 vpx_highbd_12_mse8x8_sse2
1748 
1749 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x16_c(
1750     const uint8_t* src_ptr,
1751     int src_stride,
1752     int x_offset,
1753     int y_offset,
1754     const uint8_t* ref_ptr,
1755     int ref_stride,
1756     uint32_t* sse,
1757     const uint8_t* second_pred);
1758 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x16_sse2(
1759     const uint8_t* src_ptr,
1760     int src_stride,
1761     int x_offset,
1762     int y_offset,
1763     const uint8_t* ref_ptr,
1764     int ref_stride,
1765     uint32_t* sse,
1766     const uint8_t* second_pred);
1767 #define vpx_highbd_12_sub_pixel_avg_variance16x16 \
1768   vpx_highbd_12_sub_pixel_avg_variance16x16_sse2
1769 
1770 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x32_c(
1771     const uint8_t* src_ptr,
1772     int src_stride,
1773     int x_offset,
1774     int y_offset,
1775     const uint8_t* ref_ptr,
1776     int ref_stride,
1777     uint32_t* sse,
1778     const uint8_t* second_pred);
1779 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x32_sse2(
1780     const uint8_t* src_ptr,
1781     int src_stride,
1782     int x_offset,
1783     int y_offset,
1784     const uint8_t* ref_ptr,
1785     int ref_stride,
1786     uint32_t* sse,
1787     const uint8_t* second_pred);
1788 #define vpx_highbd_12_sub_pixel_avg_variance16x32 \
1789   vpx_highbd_12_sub_pixel_avg_variance16x32_sse2
1790 
1791 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr,
1792                                                     int src_stride,
1793                                                     int x_offset,
1794                                                     int y_offset,
1795                                                     const uint8_t* ref_ptr,
1796                                                     int ref_stride,
1797                                                     uint32_t* sse,
1798                                                     const uint8_t* second_pred);
1799 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x8_sse2(
1800     const uint8_t* src_ptr,
1801     int src_stride,
1802     int x_offset,
1803     int y_offset,
1804     const uint8_t* ref_ptr,
1805     int ref_stride,
1806     uint32_t* sse,
1807     const uint8_t* second_pred);
1808 #define vpx_highbd_12_sub_pixel_avg_variance16x8 \
1809   vpx_highbd_12_sub_pixel_avg_variance16x8_sse2
1810 
1811 uint32_t vpx_highbd_12_sub_pixel_avg_variance32x16_c(
1812     const uint8_t* src_ptr,
1813     int src_stride,
1814     int x_offset,
1815     int y_offset,
1816     const uint8_t* ref_ptr,
1817     int ref_stride,
1818     uint32_t* sse,
1819     const uint8_t* second_pred);
1820 uint32_t vpx_highbd_12_sub_pixel_avg_variance32x16_sse2(
1821     const uint8_t* src_ptr,
1822     int src_stride,
1823     int x_offset,
1824     int y_offset,
1825     const uint8_t* ref_ptr,
1826     int ref_stride,
1827     uint32_t* sse,
1828     const uint8_t* second_pred);
1829 #define vpx_highbd_12_sub_pixel_avg_variance32x16 \
1830   vpx_highbd_12_sub_pixel_avg_variance32x16_sse2
1831 
1832 uint32_t vpx_highbd_12_sub_pixel_avg_variance32x32_c(
1833     const uint8_t* src_ptr,
1834     int src_stride,
1835     int x_offset,
1836     int y_offset,
1837     const uint8_t* ref_ptr,
1838     int ref_stride,
1839     uint32_t* sse,
1840     const uint8_t* second_pred);
1841 uint32_t vpx_highbd_12_sub_pixel_avg_variance32x32_sse2(
1842     const uint8_t* src_ptr,
1843     int src_stride,
1844     int x_offset,
1845     int y_offset,
1846     const uint8_t* ref_ptr,
1847     int ref_stride,
1848     uint32_t* sse,
1849     const uint8_t* second_pred);
1850 #define vpx_highbd_12_sub_pixel_avg_variance32x32 \
1851   vpx_highbd_12_sub_pixel_avg_variance32x32_sse2
1852 
1853 uint32_t vpx_highbd_12_sub_pixel_avg_variance32x64_c(
1854     const uint8_t* src_ptr,
1855     int src_stride,
1856     int x_offset,
1857     int y_offset,
1858     const uint8_t* ref_ptr,
1859     int ref_stride,
1860     uint32_t* sse,
1861     const uint8_t* second_pred);
1862 uint32_t vpx_highbd_12_sub_pixel_avg_variance32x64_sse2(
1863     const uint8_t* src_ptr,
1864     int src_stride,
1865     int x_offset,
1866     int y_offset,
1867     const uint8_t* ref_ptr,
1868     int ref_stride,
1869     uint32_t* sse,
1870     const uint8_t* second_pred);
1871 #define vpx_highbd_12_sub_pixel_avg_variance32x64 \
1872   vpx_highbd_12_sub_pixel_avg_variance32x64_sse2
1873 
1874 uint32_t vpx_highbd_12_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr,
1875                                                    int src_stride,
1876                                                    int x_offset,
1877                                                    int y_offset,
1878                                                    const uint8_t* ref_ptr,
1879                                                    int ref_stride,
1880                                                    uint32_t* sse,
1881                                                    const uint8_t* second_pred);
1882 #define vpx_highbd_12_sub_pixel_avg_variance4x4 \
1883   vpx_highbd_12_sub_pixel_avg_variance4x4_c
1884 
1885 uint32_t vpx_highbd_12_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr,
1886                                                    int src_stride,
1887                                                    int x_offset,
1888                                                    int y_offset,
1889                                                    const uint8_t* ref_ptr,
1890                                                    int ref_stride,
1891                                                    uint32_t* sse,
1892                                                    const uint8_t* second_pred);
1893 #define vpx_highbd_12_sub_pixel_avg_variance4x8 \
1894   vpx_highbd_12_sub_pixel_avg_variance4x8_c
1895 
1896 uint32_t vpx_highbd_12_sub_pixel_avg_variance64x32_c(
1897     const uint8_t* src_ptr,
1898     int src_stride,
1899     int x_offset,
1900     int y_offset,
1901     const uint8_t* ref_ptr,
1902     int ref_stride,
1903     uint32_t* sse,
1904     const uint8_t* second_pred);
1905 uint32_t vpx_highbd_12_sub_pixel_avg_variance64x32_sse2(
1906     const uint8_t* src_ptr,
1907     int src_stride,
1908     int x_offset,
1909     int y_offset,
1910     const uint8_t* ref_ptr,
1911     int ref_stride,
1912     uint32_t* sse,
1913     const uint8_t* second_pred);
1914 #define vpx_highbd_12_sub_pixel_avg_variance64x32 \
1915   vpx_highbd_12_sub_pixel_avg_variance64x32_sse2
1916 
1917 uint32_t vpx_highbd_12_sub_pixel_avg_variance64x64_c(
1918     const uint8_t* src_ptr,
1919     int src_stride,
1920     int x_offset,
1921     int y_offset,
1922     const uint8_t* ref_ptr,
1923     int ref_stride,
1924     uint32_t* sse,
1925     const uint8_t* second_pred);
1926 uint32_t vpx_highbd_12_sub_pixel_avg_variance64x64_sse2(
1927     const uint8_t* src_ptr,
1928     int src_stride,
1929     int x_offset,
1930     int y_offset,
1931     const uint8_t* ref_ptr,
1932     int ref_stride,
1933     uint32_t* sse,
1934     const uint8_t* second_pred);
1935 #define vpx_highbd_12_sub_pixel_avg_variance64x64 \
1936   vpx_highbd_12_sub_pixel_avg_variance64x64_sse2
1937 
1938 uint32_t vpx_highbd_12_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr,
1939                                                     int src_stride,
1940                                                     int x_offset,
1941                                                     int y_offset,
1942                                                     const uint8_t* ref_ptr,
1943                                                     int ref_stride,
1944                                                     uint32_t* sse,
1945                                                     const uint8_t* second_pred);
1946 uint32_t vpx_highbd_12_sub_pixel_avg_variance8x16_sse2(
1947     const uint8_t* src_ptr,
1948     int src_stride,
1949     int x_offset,
1950     int y_offset,
1951     const uint8_t* ref_ptr,
1952     int ref_stride,
1953     uint32_t* sse,
1954     const uint8_t* second_pred);
1955 #define vpx_highbd_12_sub_pixel_avg_variance8x16 \
1956   vpx_highbd_12_sub_pixel_avg_variance8x16_sse2
1957 
1958 uint32_t vpx_highbd_12_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr,
1959                                                    int src_stride,
1960                                                    int x_offset,
1961                                                    int y_offset,
1962                                                    const uint8_t* ref_ptr,
1963                                                    int ref_stride,
1964                                                    uint32_t* sse,
1965                                                    const uint8_t* second_pred);
1966 uint32_t vpx_highbd_12_sub_pixel_avg_variance8x4_sse2(
1967     const uint8_t* src_ptr,
1968     int src_stride,
1969     int x_offset,
1970     int y_offset,
1971     const uint8_t* ref_ptr,
1972     int ref_stride,
1973     uint32_t* sse,
1974     const uint8_t* second_pred);
1975 #define vpx_highbd_12_sub_pixel_avg_variance8x4 \
1976   vpx_highbd_12_sub_pixel_avg_variance8x4_sse2
1977 
1978 uint32_t vpx_highbd_12_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr,
1979                                                    int src_stride,
1980                                                    int x_offset,
1981                                                    int y_offset,
1982                                                    const uint8_t* ref_ptr,
1983                                                    int ref_stride,
1984                                                    uint32_t* sse,
1985                                                    const uint8_t* second_pred);
1986 uint32_t vpx_highbd_12_sub_pixel_avg_variance8x8_sse2(
1987     const uint8_t* src_ptr,
1988     int src_stride,
1989     int x_offset,
1990     int y_offset,
1991     const uint8_t* ref_ptr,
1992     int ref_stride,
1993     uint32_t* sse,
1994     const uint8_t* second_pred);
1995 #define vpx_highbd_12_sub_pixel_avg_variance8x8 \
1996   vpx_highbd_12_sub_pixel_avg_variance8x8_sse2
1997 
1998 uint32_t vpx_highbd_12_sub_pixel_variance16x16_c(const uint8_t* src_ptr,
1999                                                  int src_stride,
2000                                                  int x_offset,
2001                                                  int y_offset,
2002                                                  const uint8_t* ref_ptr,
2003                                                  int ref_stride,
2004                                                  uint32_t* sse);
2005 uint32_t vpx_highbd_12_sub_pixel_variance16x16_sse2(const uint8_t* src_ptr,
2006                                                     int src_stride,
2007                                                     int x_offset,
2008                                                     int y_offset,
2009                                                     const uint8_t* ref_ptr,
2010                                                     int ref_stride,
2011                                                     uint32_t* sse);
2012 #define vpx_highbd_12_sub_pixel_variance16x16 \
2013   vpx_highbd_12_sub_pixel_variance16x16_sse2
2014 
2015 uint32_t vpx_highbd_12_sub_pixel_variance16x32_c(const uint8_t* src_ptr,
2016                                                  int src_stride,
2017                                                  int x_offset,
2018                                                  int y_offset,
2019                                                  const uint8_t* ref_ptr,
2020                                                  int ref_stride,
2021                                                  uint32_t* sse);
2022 uint32_t vpx_highbd_12_sub_pixel_variance16x32_sse2(const uint8_t* src_ptr,
2023                                                     int src_stride,
2024                                                     int x_offset,
2025                                                     int y_offset,
2026                                                     const uint8_t* ref_ptr,
2027                                                     int ref_stride,
2028                                                     uint32_t* sse);
2029 #define vpx_highbd_12_sub_pixel_variance16x32 \
2030   vpx_highbd_12_sub_pixel_variance16x32_sse2
2031 
2032 uint32_t vpx_highbd_12_sub_pixel_variance16x8_c(const uint8_t* src_ptr,
2033                                                 int src_stride,
2034                                                 int x_offset,
2035                                                 int y_offset,
2036                                                 const uint8_t* ref_ptr,
2037                                                 int ref_stride,
2038                                                 uint32_t* sse);
2039 uint32_t vpx_highbd_12_sub_pixel_variance16x8_sse2(const uint8_t* src_ptr,
2040                                                    int src_stride,
2041                                                    int x_offset,
2042                                                    int y_offset,
2043                                                    const uint8_t* ref_ptr,
2044                                                    int ref_stride,
2045                                                    uint32_t* sse);
2046 #define vpx_highbd_12_sub_pixel_variance16x8 \
2047   vpx_highbd_12_sub_pixel_variance16x8_sse2
2048 
2049 uint32_t vpx_highbd_12_sub_pixel_variance32x16_c(const uint8_t* src_ptr,
2050                                                  int src_stride,
2051                                                  int x_offset,
2052                                                  int y_offset,
2053                                                  const uint8_t* ref_ptr,
2054                                                  int ref_stride,
2055                                                  uint32_t* sse);
2056 uint32_t vpx_highbd_12_sub_pixel_variance32x16_sse2(const uint8_t* src_ptr,
2057                                                     int src_stride,
2058                                                     int x_offset,
2059                                                     int y_offset,
2060                                                     const uint8_t* ref_ptr,
2061                                                     int ref_stride,
2062                                                     uint32_t* sse);
2063 #define vpx_highbd_12_sub_pixel_variance32x16 \
2064   vpx_highbd_12_sub_pixel_variance32x16_sse2
2065 
2066 uint32_t vpx_highbd_12_sub_pixel_variance32x32_c(const uint8_t* src_ptr,
2067                                                  int src_stride,
2068                                                  int x_offset,
2069                                                  int y_offset,
2070                                                  const uint8_t* ref_ptr,
2071                                                  int ref_stride,
2072                                                  uint32_t* sse);
2073 uint32_t vpx_highbd_12_sub_pixel_variance32x32_sse2(const uint8_t* src_ptr,
2074                                                     int src_stride,
2075                                                     int x_offset,
2076                                                     int y_offset,
2077                                                     const uint8_t* ref_ptr,
2078                                                     int ref_stride,
2079                                                     uint32_t* sse);
2080 #define vpx_highbd_12_sub_pixel_variance32x32 \
2081   vpx_highbd_12_sub_pixel_variance32x32_sse2
2082 
2083 uint32_t vpx_highbd_12_sub_pixel_variance32x64_c(const uint8_t* src_ptr,
2084                                                  int src_stride,
2085                                                  int x_offset,
2086                                                  int y_offset,
2087                                                  const uint8_t* ref_ptr,
2088                                                  int ref_stride,
2089                                                  uint32_t* sse);
2090 uint32_t vpx_highbd_12_sub_pixel_variance32x64_sse2(const uint8_t* src_ptr,
2091                                                     int src_stride,
2092                                                     int x_offset,
2093                                                     int y_offset,
2094                                                     const uint8_t* ref_ptr,
2095                                                     int ref_stride,
2096                                                     uint32_t* sse);
2097 #define vpx_highbd_12_sub_pixel_variance32x64 \
2098   vpx_highbd_12_sub_pixel_variance32x64_sse2
2099 
2100 uint32_t vpx_highbd_12_sub_pixel_variance4x4_c(const uint8_t* src_ptr,
2101                                                int src_stride,
2102                                                int x_offset,
2103                                                int y_offset,
2104                                                const uint8_t* ref_ptr,
2105                                                int ref_stride,
2106                                                uint32_t* sse);
2107 #define vpx_highbd_12_sub_pixel_variance4x4 \
2108   vpx_highbd_12_sub_pixel_variance4x4_c
2109 
2110 uint32_t vpx_highbd_12_sub_pixel_variance4x8_c(const uint8_t* src_ptr,
2111                                                int src_stride,
2112                                                int x_offset,
2113                                                int y_offset,
2114                                                const uint8_t* ref_ptr,
2115                                                int ref_stride,
2116                                                uint32_t* sse);
2117 #define vpx_highbd_12_sub_pixel_variance4x8 \
2118   vpx_highbd_12_sub_pixel_variance4x8_c
2119 
2120 uint32_t vpx_highbd_12_sub_pixel_variance64x32_c(const uint8_t* src_ptr,
2121                                                  int src_stride,
2122                                                  int x_offset,
2123                                                  int y_offset,
2124                                                  const uint8_t* ref_ptr,
2125                                                  int ref_stride,
2126                                                  uint32_t* sse);
2127 uint32_t vpx_highbd_12_sub_pixel_variance64x32_sse2(const uint8_t* src_ptr,
2128                                                     int src_stride,
2129                                                     int x_offset,
2130                                                     int y_offset,
2131                                                     const uint8_t* ref_ptr,
2132                                                     int ref_stride,
2133                                                     uint32_t* sse);
2134 #define vpx_highbd_12_sub_pixel_variance64x32 \
2135   vpx_highbd_12_sub_pixel_variance64x32_sse2
2136 
2137 uint32_t vpx_highbd_12_sub_pixel_variance64x64_c(const uint8_t* src_ptr,
2138                                                  int src_stride,
2139                                                  int x_offset,
2140                                                  int y_offset,
2141                                                  const uint8_t* ref_ptr,
2142                                                  int ref_stride,
2143                                                  uint32_t* sse);
2144 uint32_t vpx_highbd_12_sub_pixel_variance64x64_sse2(const uint8_t* src_ptr,
2145                                                     int src_stride,
2146                                                     int x_offset,
2147                                                     int y_offset,
2148                                                     const uint8_t* ref_ptr,
2149                                                     int ref_stride,
2150                                                     uint32_t* sse);
2151 #define vpx_highbd_12_sub_pixel_variance64x64 \
2152   vpx_highbd_12_sub_pixel_variance64x64_sse2
2153 
2154 uint32_t vpx_highbd_12_sub_pixel_variance8x16_c(const uint8_t* src_ptr,
2155                                                 int src_stride,
2156                                                 int x_offset,
2157                                                 int y_offset,
2158                                                 const uint8_t* ref_ptr,
2159                                                 int ref_stride,
2160                                                 uint32_t* sse);
2161 uint32_t vpx_highbd_12_sub_pixel_variance8x16_sse2(const uint8_t* src_ptr,
2162                                                    int src_stride,
2163                                                    int x_offset,
2164                                                    int y_offset,
2165                                                    const uint8_t* ref_ptr,
2166                                                    int ref_stride,
2167                                                    uint32_t* sse);
2168 #define vpx_highbd_12_sub_pixel_variance8x16 \
2169   vpx_highbd_12_sub_pixel_variance8x16_sse2
2170 
2171 uint32_t vpx_highbd_12_sub_pixel_variance8x4_c(const uint8_t* src_ptr,
2172                                                int src_stride,
2173                                                int x_offset,
2174                                                int y_offset,
2175                                                const uint8_t* ref_ptr,
2176                                                int ref_stride,
2177                                                uint32_t* sse);
2178 uint32_t vpx_highbd_12_sub_pixel_variance8x4_sse2(const uint8_t* src_ptr,
2179                                                   int src_stride,
2180                                                   int x_offset,
2181                                                   int y_offset,
2182                                                   const uint8_t* ref_ptr,
2183                                                   int ref_stride,
2184                                                   uint32_t* sse);
2185 #define vpx_highbd_12_sub_pixel_variance8x4 \
2186   vpx_highbd_12_sub_pixel_variance8x4_sse2
2187 
2188 uint32_t vpx_highbd_12_sub_pixel_variance8x8_c(const uint8_t* src_ptr,
2189                                                int src_stride,
2190                                                int x_offset,
2191                                                int y_offset,
2192                                                const uint8_t* ref_ptr,
2193                                                int ref_stride,
2194                                                uint32_t* sse);
2195 uint32_t vpx_highbd_12_sub_pixel_variance8x8_sse2(const uint8_t* src_ptr,
2196                                                   int src_stride,
2197                                                   int x_offset,
2198                                                   int y_offset,
2199                                                   const uint8_t* ref_ptr,
2200                                                   int ref_stride,
2201                                                   uint32_t* sse);
2202 #define vpx_highbd_12_sub_pixel_variance8x8 \
2203   vpx_highbd_12_sub_pixel_variance8x8_sse2
2204 
2205 unsigned int vpx_highbd_12_variance16x16_c(const uint8_t* src_ptr,
2206                                            int src_stride,
2207                                            const uint8_t* ref_ptr,
2208                                            int ref_stride,
2209                                            unsigned int* sse);
2210 unsigned int vpx_highbd_12_variance16x16_sse2(const uint8_t* src_ptr,
2211                                               int src_stride,
2212                                               const uint8_t* ref_ptr,
2213                                               int ref_stride,
2214                                               unsigned int* sse);
2215 #define vpx_highbd_12_variance16x16 vpx_highbd_12_variance16x16_sse2
2216 
2217 unsigned int vpx_highbd_12_variance16x32_c(const uint8_t* src_ptr,
2218                                            int src_stride,
2219                                            const uint8_t* ref_ptr,
2220                                            int ref_stride,
2221                                            unsigned int* sse);
2222 unsigned int vpx_highbd_12_variance16x32_sse2(const uint8_t* src_ptr,
2223                                               int src_stride,
2224                                               const uint8_t* ref_ptr,
2225                                               int ref_stride,
2226                                               unsigned int* sse);
2227 #define vpx_highbd_12_variance16x32 vpx_highbd_12_variance16x32_sse2
2228 
2229 unsigned int vpx_highbd_12_variance16x8_c(const uint8_t* src_ptr,
2230                                           int src_stride,
2231                                           const uint8_t* ref_ptr,
2232                                           int ref_stride,
2233                                           unsigned int* sse);
2234 unsigned int vpx_highbd_12_variance16x8_sse2(const uint8_t* src_ptr,
2235                                              int src_stride,
2236                                              const uint8_t* ref_ptr,
2237                                              int ref_stride,
2238                                              unsigned int* sse);
2239 #define vpx_highbd_12_variance16x8 vpx_highbd_12_variance16x8_sse2
2240 
2241 unsigned int vpx_highbd_12_variance32x16_c(const uint8_t* src_ptr,
2242                                            int src_stride,
2243                                            const uint8_t* ref_ptr,
2244                                            int ref_stride,
2245                                            unsigned int* sse);
2246 unsigned int vpx_highbd_12_variance32x16_sse2(const uint8_t* src_ptr,
2247                                               int src_stride,
2248                                               const uint8_t* ref_ptr,
2249                                               int ref_stride,
2250                                               unsigned int* sse);
2251 #define vpx_highbd_12_variance32x16 vpx_highbd_12_variance32x16_sse2
2252 
2253 unsigned int vpx_highbd_12_variance32x32_c(const uint8_t* src_ptr,
2254                                            int src_stride,
2255                                            const uint8_t* ref_ptr,
2256                                            int ref_stride,
2257                                            unsigned int* sse);
2258 unsigned int vpx_highbd_12_variance32x32_sse2(const uint8_t* src_ptr,
2259                                               int src_stride,
2260                                               const uint8_t* ref_ptr,
2261                                               int ref_stride,
2262                                               unsigned int* sse);
2263 #define vpx_highbd_12_variance32x32 vpx_highbd_12_variance32x32_sse2
2264 
2265 unsigned int vpx_highbd_12_variance32x64_c(const uint8_t* src_ptr,
2266                                            int src_stride,
2267                                            const uint8_t* ref_ptr,
2268                                            int ref_stride,
2269                                            unsigned int* sse);
2270 unsigned int vpx_highbd_12_variance32x64_sse2(const uint8_t* src_ptr,
2271                                               int src_stride,
2272                                               const uint8_t* ref_ptr,
2273                                               int ref_stride,
2274                                               unsigned int* sse);
2275 #define vpx_highbd_12_variance32x64 vpx_highbd_12_variance32x64_sse2
2276 
2277 unsigned int vpx_highbd_12_variance4x4_c(const uint8_t* src_ptr,
2278                                          int src_stride,
2279                                          const uint8_t* ref_ptr,
2280                                          int ref_stride,
2281                                          unsigned int* sse);
2282 #define vpx_highbd_12_variance4x4 vpx_highbd_12_variance4x4_c
2283 
2284 unsigned int vpx_highbd_12_variance4x8_c(const uint8_t* src_ptr,
2285                                          int src_stride,
2286                                          const uint8_t* ref_ptr,
2287                                          int ref_stride,
2288                                          unsigned int* sse);
2289 #define vpx_highbd_12_variance4x8 vpx_highbd_12_variance4x8_c
2290 
2291 unsigned int vpx_highbd_12_variance64x32_c(const uint8_t* src_ptr,
2292                                            int src_stride,
2293                                            const uint8_t* ref_ptr,
2294                                            int ref_stride,
2295                                            unsigned int* sse);
2296 unsigned int vpx_highbd_12_variance64x32_sse2(const uint8_t* src_ptr,
2297                                               int src_stride,
2298                                               const uint8_t* ref_ptr,
2299                                               int ref_stride,
2300                                               unsigned int* sse);
2301 #define vpx_highbd_12_variance64x32 vpx_highbd_12_variance64x32_sse2
2302 
2303 unsigned int vpx_highbd_12_variance64x64_c(const uint8_t* src_ptr,
2304                                            int src_stride,
2305                                            const uint8_t* ref_ptr,
2306                                            int ref_stride,
2307                                            unsigned int* sse);
2308 unsigned int vpx_highbd_12_variance64x64_sse2(const uint8_t* src_ptr,
2309                                               int src_stride,
2310                                               const uint8_t* ref_ptr,
2311                                               int ref_stride,
2312                                               unsigned int* sse);
2313 #define vpx_highbd_12_variance64x64 vpx_highbd_12_variance64x64_sse2
2314 
2315 unsigned int vpx_highbd_12_variance8x16_c(const uint8_t* src_ptr,
2316                                           int src_stride,
2317                                           const uint8_t* ref_ptr,
2318                                           int ref_stride,
2319                                           unsigned int* sse);
2320 unsigned int vpx_highbd_12_variance8x16_sse2(const uint8_t* src_ptr,
2321                                              int src_stride,
2322                                              const uint8_t* ref_ptr,
2323                                              int ref_stride,
2324                                              unsigned int* sse);
2325 #define vpx_highbd_12_variance8x16 vpx_highbd_12_variance8x16_sse2
2326 
2327 unsigned int vpx_highbd_12_variance8x4_c(const uint8_t* src_ptr,
2328                                          int src_stride,
2329                                          const uint8_t* ref_ptr,
2330                                          int ref_stride,
2331                                          unsigned int* sse);
2332 #define vpx_highbd_12_variance8x4 vpx_highbd_12_variance8x4_c
2333 
2334 unsigned int vpx_highbd_12_variance8x8_c(const uint8_t* src_ptr,
2335                                          int src_stride,
2336                                          const uint8_t* ref_ptr,
2337                                          int ref_stride,
2338                                          unsigned int* sse);
2339 unsigned int vpx_highbd_12_variance8x8_sse2(const uint8_t* src_ptr,
2340                                             int src_stride,
2341                                             const uint8_t* ref_ptr,
2342                                             int ref_stride,
2343                                             unsigned int* sse);
2344 #define vpx_highbd_12_variance8x8 vpx_highbd_12_variance8x8_sse2
2345 
2346 void vpx_highbd_8_get16x16var_c(const uint8_t* src_ptr,
2347                                 int src_stride,
2348                                 const uint8_t* ref_ptr,
2349                                 int ref_stride,
2350                                 unsigned int* sse,
2351                                 int* sum);
2352 void vpx_highbd_8_get16x16var_sse2(const uint8_t* src_ptr,
2353                                    int src_stride,
2354                                    const uint8_t* ref_ptr,
2355                                    int ref_stride,
2356                                    unsigned int* sse,
2357                                    int* sum);
2358 #define vpx_highbd_8_get16x16var vpx_highbd_8_get16x16var_sse2
2359 
2360 void vpx_highbd_8_get8x8var_c(const uint8_t* src_ptr,
2361                               int src_stride,
2362                               const uint8_t* ref_ptr,
2363                               int ref_stride,
2364                               unsigned int* sse,
2365                               int* sum);
2366 void vpx_highbd_8_get8x8var_sse2(const uint8_t* src_ptr,
2367                                  int src_stride,
2368                                  const uint8_t* ref_ptr,
2369                                  int ref_stride,
2370                                  unsigned int* sse,
2371                                  int* sum);
2372 #define vpx_highbd_8_get8x8var vpx_highbd_8_get8x8var_sse2
2373 
2374 unsigned int vpx_highbd_8_mse16x16_c(const uint8_t* src_ptr,
2375                                      int src_stride,
2376                                      const uint8_t* ref_ptr,
2377                                      int ref_stride,
2378                                      unsigned int* sse);
2379 unsigned int vpx_highbd_8_mse16x16_sse2(const uint8_t* src_ptr,
2380                                         int src_stride,
2381                                         const uint8_t* ref_ptr,
2382                                         int ref_stride,
2383                                         unsigned int* sse);
2384 #define vpx_highbd_8_mse16x16 vpx_highbd_8_mse16x16_sse2
2385 
2386 unsigned int vpx_highbd_8_mse16x8_c(const uint8_t* src_ptr,
2387                                     int src_stride,
2388                                     const uint8_t* ref_ptr,
2389                                     int ref_stride,
2390                                     unsigned int* sse);
2391 #define vpx_highbd_8_mse16x8 vpx_highbd_8_mse16x8_c
2392 
2393 unsigned int vpx_highbd_8_mse8x16_c(const uint8_t* src_ptr,
2394                                     int src_stride,
2395                                     const uint8_t* ref_ptr,
2396                                     int ref_stride,
2397                                     unsigned int* sse);
2398 #define vpx_highbd_8_mse8x16 vpx_highbd_8_mse8x16_c
2399 
2400 unsigned int vpx_highbd_8_mse8x8_c(const uint8_t* src_ptr,
2401                                    int src_stride,
2402                                    const uint8_t* ref_ptr,
2403                                    int ref_stride,
2404                                    unsigned int* sse);
2405 unsigned int vpx_highbd_8_mse8x8_sse2(const uint8_t* src_ptr,
2406                                       int src_stride,
2407                                       const uint8_t* ref_ptr,
2408                                       int ref_stride,
2409                                       unsigned int* sse);
2410 #define vpx_highbd_8_mse8x8 vpx_highbd_8_mse8x8_sse2
2411 
2412 uint32_t vpx_highbd_8_sub_pixel_avg_variance16x16_c(const uint8_t* src_ptr,
2413                                                     int src_stride,
2414                                                     int x_offset,
2415                                                     int y_offset,
2416                                                     const uint8_t* ref_ptr,
2417                                                     int ref_stride,
2418                                                     uint32_t* sse,
2419                                                     const uint8_t* second_pred);
2420 uint32_t vpx_highbd_8_sub_pixel_avg_variance16x16_sse2(
2421     const uint8_t* src_ptr,
2422     int src_stride,
2423     int x_offset,
2424     int y_offset,
2425     const uint8_t* ref_ptr,
2426     int ref_stride,
2427     uint32_t* sse,
2428     const uint8_t* second_pred);
2429 #define vpx_highbd_8_sub_pixel_avg_variance16x16 \
2430   vpx_highbd_8_sub_pixel_avg_variance16x16_sse2
2431 
2432 uint32_t vpx_highbd_8_sub_pixel_avg_variance16x32_c(const uint8_t* src_ptr,
2433                                                     int src_stride,
2434                                                     int x_offset,
2435                                                     int y_offset,
2436                                                     const uint8_t* ref_ptr,
2437                                                     int ref_stride,
2438                                                     uint32_t* sse,
2439                                                     const uint8_t* second_pred);
2440 uint32_t vpx_highbd_8_sub_pixel_avg_variance16x32_sse2(
2441     const uint8_t* src_ptr,
2442     int src_stride,
2443     int x_offset,
2444     int y_offset,
2445     const uint8_t* ref_ptr,
2446     int ref_stride,
2447     uint32_t* sse,
2448     const uint8_t* second_pred);
2449 #define vpx_highbd_8_sub_pixel_avg_variance16x32 \
2450   vpx_highbd_8_sub_pixel_avg_variance16x32_sse2
2451 
2452 uint32_t vpx_highbd_8_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr,
2453                                                    int src_stride,
2454                                                    int x_offset,
2455                                                    int y_offset,
2456                                                    const uint8_t* ref_ptr,
2457                                                    int ref_stride,
2458                                                    uint32_t* sse,
2459                                                    const uint8_t* second_pred);
2460 uint32_t vpx_highbd_8_sub_pixel_avg_variance16x8_sse2(
2461     const uint8_t* src_ptr,
2462     int src_stride,
2463     int x_offset,
2464     int y_offset,
2465     const uint8_t* ref_ptr,
2466     int ref_stride,
2467     uint32_t* sse,
2468     const uint8_t* second_pred);
2469 #define vpx_highbd_8_sub_pixel_avg_variance16x8 \
2470   vpx_highbd_8_sub_pixel_avg_variance16x8_sse2
2471 
2472 uint32_t vpx_highbd_8_sub_pixel_avg_variance32x16_c(const uint8_t* src_ptr,
2473                                                     int src_stride,
2474                                                     int x_offset,
2475                                                     int y_offset,
2476                                                     const uint8_t* ref_ptr,
2477                                                     int ref_stride,
2478                                                     uint32_t* sse,
2479                                                     const uint8_t* second_pred);
2480 uint32_t vpx_highbd_8_sub_pixel_avg_variance32x16_sse2(
2481     const uint8_t* src_ptr,
2482     int src_stride,
2483     int x_offset,
2484     int y_offset,
2485     const uint8_t* ref_ptr,
2486     int ref_stride,
2487     uint32_t* sse,
2488     const uint8_t* second_pred);
2489 #define vpx_highbd_8_sub_pixel_avg_variance32x16 \
2490   vpx_highbd_8_sub_pixel_avg_variance32x16_sse2
2491 
2492 uint32_t vpx_highbd_8_sub_pixel_avg_variance32x32_c(const uint8_t* src_ptr,
2493                                                     int src_stride,
2494                                                     int x_offset,
2495                                                     int y_offset,
2496                                                     const uint8_t* ref_ptr,
2497                                                     int ref_stride,
2498                                                     uint32_t* sse,
2499                                                     const uint8_t* second_pred);
2500 uint32_t vpx_highbd_8_sub_pixel_avg_variance32x32_sse2(
2501     const uint8_t* src_ptr,
2502     int src_stride,
2503     int x_offset,
2504     int y_offset,
2505     const uint8_t* ref_ptr,
2506     int ref_stride,
2507     uint32_t* sse,
2508     const uint8_t* second_pred);
2509 #define vpx_highbd_8_sub_pixel_avg_variance32x32 \
2510   vpx_highbd_8_sub_pixel_avg_variance32x32_sse2
2511 
2512 uint32_t vpx_highbd_8_sub_pixel_avg_variance32x64_c(const uint8_t* src_ptr,
2513                                                     int src_stride,
2514                                                     int x_offset,
2515                                                     int y_offset,
2516                                                     const uint8_t* ref_ptr,
2517                                                     int ref_stride,
2518                                                     uint32_t* sse,
2519                                                     const uint8_t* second_pred);
2520 uint32_t vpx_highbd_8_sub_pixel_avg_variance32x64_sse2(
2521     const uint8_t* src_ptr,
2522     int src_stride,
2523     int x_offset,
2524     int y_offset,
2525     const uint8_t* ref_ptr,
2526     int ref_stride,
2527     uint32_t* sse,
2528     const uint8_t* second_pred);
2529 #define vpx_highbd_8_sub_pixel_avg_variance32x64 \
2530   vpx_highbd_8_sub_pixel_avg_variance32x64_sse2
2531 
2532 uint32_t vpx_highbd_8_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr,
2533                                                   int src_stride,
2534                                                   int x_offset,
2535                                                   int y_offset,
2536                                                   const uint8_t* ref_ptr,
2537                                                   int ref_stride,
2538                                                   uint32_t* sse,
2539                                                   const uint8_t* second_pred);
2540 #define vpx_highbd_8_sub_pixel_avg_variance4x4 \
2541   vpx_highbd_8_sub_pixel_avg_variance4x4_c
2542 
2543 uint32_t vpx_highbd_8_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr,
2544                                                   int src_stride,
2545                                                   int x_offset,
2546                                                   int y_offset,
2547                                                   const uint8_t* ref_ptr,
2548                                                   int ref_stride,
2549                                                   uint32_t* sse,
2550                                                   const uint8_t* second_pred);
2551 #define vpx_highbd_8_sub_pixel_avg_variance4x8 \
2552   vpx_highbd_8_sub_pixel_avg_variance4x8_c
2553 
2554 uint32_t vpx_highbd_8_sub_pixel_avg_variance64x32_c(const uint8_t* src_ptr,
2555                                                     int src_stride,
2556                                                     int x_offset,
2557                                                     int y_offset,
2558                                                     const uint8_t* ref_ptr,
2559                                                     int ref_stride,
2560                                                     uint32_t* sse,
2561                                                     const uint8_t* second_pred);
2562 uint32_t vpx_highbd_8_sub_pixel_avg_variance64x32_sse2(
2563     const uint8_t* src_ptr,
2564     int src_stride,
2565     int x_offset,
2566     int y_offset,
2567     const uint8_t* ref_ptr,
2568     int ref_stride,
2569     uint32_t* sse,
2570     const uint8_t* second_pred);
2571 #define vpx_highbd_8_sub_pixel_avg_variance64x32 \
2572   vpx_highbd_8_sub_pixel_avg_variance64x32_sse2
2573 
2574 uint32_t vpx_highbd_8_sub_pixel_avg_variance64x64_c(const uint8_t* src_ptr,
2575                                                     int src_stride,
2576                                                     int x_offset,
2577                                                     int y_offset,
2578                                                     const uint8_t* ref_ptr,
2579                                                     int ref_stride,
2580                                                     uint32_t* sse,
2581                                                     const uint8_t* second_pred);
2582 uint32_t vpx_highbd_8_sub_pixel_avg_variance64x64_sse2(
2583     const uint8_t* src_ptr,
2584     int src_stride,
2585     int x_offset,
2586     int y_offset,
2587     const uint8_t* ref_ptr,
2588     int ref_stride,
2589     uint32_t* sse,
2590     const uint8_t* second_pred);
2591 #define vpx_highbd_8_sub_pixel_avg_variance64x64 \
2592   vpx_highbd_8_sub_pixel_avg_variance64x64_sse2
2593 
2594 uint32_t vpx_highbd_8_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr,
2595                                                    int src_stride,
2596                                                    int x_offset,
2597                                                    int y_offset,
2598                                                    const uint8_t* ref_ptr,
2599                                                    int ref_stride,
2600                                                    uint32_t* sse,
2601                                                    const uint8_t* second_pred);
2602 uint32_t vpx_highbd_8_sub_pixel_avg_variance8x16_sse2(
2603     const uint8_t* src_ptr,
2604     int src_stride,
2605     int x_offset,
2606     int y_offset,
2607     const uint8_t* ref_ptr,
2608     int ref_stride,
2609     uint32_t* sse,
2610     const uint8_t* second_pred);
2611 #define vpx_highbd_8_sub_pixel_avg_variance8x16 \
2612   vpx_highbd_8_sub_pixel_avg_variance8x16_sse2
2613 
2614 uint32_t vpx_highbd_8_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr,
2615                                                   int src_stride,
2616                                                   int x_offset,
2617                                                   int y_offset,
2618                                                   const uint8_t* ref_ptr,
2619                                                   int ref_stride,
2620                                                   uint32_t* sse,
2621                                                   const uint8_t* second_pred);
2622 uint32_t vpx_highbd_8_sub_pixel_avg_variance8x4_sse2(
2623     const uint8_t* src_ptr,
2624     int src_stride,
2625     int x_offset,
2626     int y_offset,
2627     const uint8_t* ref_ptr,
2628     int ref_stride,
2629     uint32_t* sse,
2630     const uint8_t* second_pred);
2631 #define vpx_highbd_8_sub_pixel_avg_variance8x4 \
2632   vpx_highbd_8_sub_pixel_avg_variance8x4_sse2
2633 
2634 uint32_t vpx_highbd_8_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr,
2635                                                   int src_stride,
2636                                                   int x_offset,
2637                                                   int y_offset,
2638                                                   const uint8_t* ref_ptr,
2639                                                   int ref_stride,
2640                                                   uint32_t* sse,
2641                                                   const uint8_t* second_pred);
2642 uint32_t vpx_highbd_8_sub_pixel_avg_variance8x8_sse2(
2643     const uint8_t* src_ptr,
2644     int src_stride,
2645     int x_offset,
2646     int y_offset,
2647     const uint8_t* ref_ptr,
2648     int ref_stride,
2649     uint32_t* sse,
2650     const uint8_t* second_pred);
2651 #define vpx_highbd_8_sub_pixel_avg_variance8x8 \
2652   vpx_highbd_8_sub_pixel_avg_variance8x8_sse2
2653 
2654 uint32_t vpx_highbd_8_sub_pixel_variance16x16_c(const uint8_t* src_ptr,
2655                                                 int src_stride,
2656                                                 int x_offset,
2657                                                 int y_offset,
2658                                                 const uint8_t* ref_ptr,
2659                                                 int ref_stride,
2660                                                 uint32_t* sse);
2661 uint32_t vpx_highbd_8_sub_pixel_variance16x16_sse2(const uint8_t* src_ptr,
2662                                                    int src_stride,
2663                                                    int x_offset,
2664                                                    int y_offset,
2665                                                    const uint8_t* ref_ptr,
2666                                                    int ref_stride,
2667                                                    uint32_t* sse);
2668 #define vpx_highbd_8_sub_pixel_variance16x16 \
2669   vpx_highbd_8_sub_pixel_variance16x16_sse2
2670 
2671 uint32_t vpx_highbd_8_sub_pixel_variance16x32_c(const uint8_t* src_ptr,
2672                                                 int src_stride,
2673                                                 int x_offset,
2674                                                 int y_offset,
2675                                                 const uint8_t* ref_ptr,
2676                                                 int ref_stride,
2677                                                 uint32_t* sse);
2678 uint32_t vpx_highbd_8_sub_pixel_variance16x32_sse2(const uint8_t* src_ptr,
2679                                                    int src_stride,
2680                                                    int x_offset,
2681                                                    int y_offset,
2682                                                    const uint8_t* ref_ptr,
2683                                                    int ref_stride,
2684                                                    uint32_t* sse);
2685 #define vpx_highbd_8_sub_pixel_variance16x32 \
2686   vpx_highbd_8_sub_pixel_variance16x32_sse2
2687 
2688 uint32_t vpx_highbd_8_sub_pixel_variance16x8_c(const uint8_t* src_ptr,
2689                                                int src_stride,
2690                                                int x_offset,
2691                                                int y_offset,
2692                                                const uint8_t* ref_ptr,
2693                                                int ref_stride,
2694                                                uint32_t* sse);
2695 uint32_t vpx_highbd_8_sub_pixel_variance16x8_sse2(const uint8_t* src_ptr,
2696                                                   int src_stride,
2697                                                   int x_offset,
2698                                                   int y_offset,
2699                                                   const uint8_t* ref_ptr,
2700                                                   int ref_stride,
2701                                                   uint32_t* sse);
2702 #define vpx_highbd_8_sub_pixel_variance16x8 \
2703   vpx_highbd_8_sub_pixel_variance16x8_sse2
2704 
2705 uint32_t vpx_highbd_8_sub_pixel_variance32x16_c(const uint8_t* src_ptr,
2706                                                 int src_stride,
2707                                                 int x_offset,
2708                                                 int y_offset,
2709                                                 const uint8_t* ref_ptr,
2710                                                 int ref_stride,
2711                                                 uint32_t* sse);
2712 uint32_t vpx_highbd_8_sub_pixel_variance32x16_sse2(const uint8_t* src_ptr,
2713                                                    int src_stride,
2714                                                    int x_offset,
2715                                                    int y_offset,
2716                                                    const uint8_t* ref_ptr,
2717                                                    int ref_stride,
2718                                                    uint32_t* sse);
2719 #define vpx_highbd_8_sub_pixel_variance32x16 \
2720   vpx_highbd_8_sub_pixel_variance32x16_sse2
2721 
2722 uint32_t vpx_highbd_8_sub_pixel_variance32x32_c(const uint8_t* src_ptr,
2723                                                 int src_stride,
2724                                                 int x_offset,
2725                                                 int y_offset,
2726                                                 const uint8_t* ref_ptr,
2727                                                 int ref_stride,
2728                                                 uint32_t* sse);
2729 uint32_t vpx_highbd_8_sub_pixel_variance32x32_sse2(const uint8_t* src_ptr,
2730                                                    int src_stride,
2731                                                    int x_offset,
2732                                                    int y_offset,
2733                                                    const uint8_t* ref_ptr,
2734                                                    int ref_stride,
2735                                                    uint32_t* sse);
2736 #define vpx_highbd_8_sub_pixel_variance32x32 \
2737   vpx_highbd_8_sub_pixel_variance32x32_sse2
2738 
2739 uint32_t vpx_highbd_8_sub_pixel_variance32x64_c(const uint8_t* src_ptr,
2740                                                 int src_stride,
2741                                                 int x_offset,
2742                                                 int y_offset,
2743                                                 const uint8_t* ref_ptr,
2744                                                 int ref_stride,
2745                                                 uint32_t* sse);
2746 uint32_t vpx_highbd_8_sub_pixel_variance32x64_sse2(const uint8_t* src_ptr,
2747                                                    int src_stride,
2748                                                    int x_offset,
2749                                                    int y_offset,
2750                                                    const uint8_t* ref_ptr,
2751                                                    int ref_stride,
2752                                                    uint32_t* sse);
2753 #define vpx_highbd_8_sub_pixel_variance32x64 \
2754   vpx_highbd_8_sub_pixel_variance32x64_sse2
2755 
2756 uint32_t vpx_highbd_8_sub_pixel_variance4x4_c(const uint8_t* src_ptr,
2757                                               int src_stride,
2758                                               int x_offset,
2759                                               int y_offset,
2760                                               const uint8_t* ref_ptr,
2761                                               int ref_stride,
2762                                               uint32_t* sse);
2763 #define vpx_highbd_8_sub_pixel_variance4x4 vpx_highbd_8_sub_pixel_variance4x4_c
2764 
2765 uint32_t vpx_highbd_8_sub_pixel_variance4x8_c(const uint8_t* src_ptr,
2766                                               int src_stride,
2767                                               int x_offset,
2768                                               int y_offset,
2769                                               const uint8_t* ref_ptr,
2770                                               int ref_stride,
2771                                               uint32_t* sse);
2772 #define vpx_highbd_8_sub_pixel_variance4x8 vpx_highbd_8_sub_pixel_variance4x8_c
2773 
2774 uint32_t vpx_highbd_8_sub_pixel_variance64x32_c(const uint8_t* src_ptr,
2775                                                 int src_stride,
2776                                                 int x_offset,
2777                                                 int y_offset,
2778                                                 const uint8_t* ref_ptr,
2779                                                 int ref_stride,
2780                                                 uint32_t* sse);
2781 uint32_t vpx_highbd_8_sub_pixel_variance64x32_sse2(const uint8_t* src_ptr,
2782                                                    int src_stride,
2783                                                    int x_offset,
2784                                                    int y_offset,
2785                                                    const uint8_t* ref_ptr,
2786                                                    int ref_stride,
2787                                                    uint32_t* sse);
2788 #define vpx_highbd_8_sub_pixel_variance64x32 \
2789   vpx_highbd_8_sub_pixel_variance64x32_sse2
2790 
2791 uint32_t vpx_highbd_8_sub_pixel_variance64x64_c(const uint8_t* src_ptr,
2792                                                 int src_stride,
2793                                                 int x_offset,
2794                                                 int y_offset,
2795                                                 const uint8_t* ref_ptr,
2796                                                 int ref_stride,
2797                                                 uint32_t* sse);
2798 uint32_t vpx_highbd_8_sub_pixel_variance64x64_sse2(const uint8_t* src_ptr,
2799                                                    int src_stride,
2800                                                    int x_offset,
2801                                                    int y_offset,
2802                                                    const uint8_t* ref_ptr,
2803                                                    int ref_stride,
2804                                                    uint32_t* sse);
2805 #define vpx_highbd_8_sub_pixel_variance64x64 \
2806   vpx_highbd_8_sub_pixel_variance64x64_sse2
2807 
2808 uint32_t vpx_highbd_8_sub_pixel_variance8x16_c(const uint8_t* src_ptr,
2809                                                int src_stride,
2810                                                int x_offset,
2811                                                int y_offset,
2812                                                const uint8_t* ref_ptr,
2813                                                int ref_stride,
2814                                                uint32_t* sse);
2815 uint32_t vpx_highbd_8_sub_pixel_variance8x16_sse2(const uint8_t* src_ptr,
2816                                                   int src_stride,
2817                                                   int x_offset,
2818                                                   int y_offset,
2819                                                   const uint8_t* ref_ptr,
2820                                                   int ref_stride,
2821                                                   uint32_t* sse);
2822 #define vpx_highbd_8_sub_pixel_variance8x16 \
2823   vpx_highbd_8_sub_pixel_variance8x16_sse2
2824 
2825 uint32_t vpx_highbd_8_sub_pixel_variance8x4_c(const uint8_t* src_ptr,
2826                                               int src_stride,
2827                                               int x_offset,
2828                                               int y_offset,
2829                                               const uint8_t* ref_ptr,
2830                                               int ref_stride,
2831                                               uint32_t* sse);
2832 uint32_t vpx_highbd_8_sub_pixel_variance8x4_sse2(const uint8_t* src_ptr,
2833                                                  int src_stride,
2834                                                  int x_offset,
2835                                                  int y_offset,
2836                                                  const uint8_t* ref_ptr,
2837                                                  int ref_stride,
2838                                                  uint32_t* sse);
2839 #define vpx_highbd_8_sub_pixel_variance8x4 \
2840   vpx_highbd_8_sub_pixel_variance8x4_sse2
2841 
2842 uint32_t vpx_highbd_8_sub_pixel_variance8x8_c(const uint8_t* src_ptr,
2843                                               int src_stride,
2844                                               int x_offset,
2845                                               int y_offset,
2846                                               const uint8_t* ref_ptr,
2847                                               int ref_stride,
2848                                               uint32_t* sse);
2849 uint32_t vpx_highbd_8_sub_pixel_variance8x8_sse2(const uint8_t* src_ptr,
2850                                                  int src_stride,
2851                                                  int x_offset,
2852                                                  int y_offset,
2853                                                  const uint8_t* ref_ptr,
2854                                                  int ref_stride,
2855                                                  uint32_t* sse);
2856 #define vpx_highbd_8_sub_pixel_variance8x8 \
2857   vpx_highbd_8_sub_pixel_variance8x8_sse2
2858 
2859 unsigned int vpx_highbd_8_variance16x16_c(const uint8_t* src_ptr,
2860                                           int src_stride,
2861                                           const uint8_t* ref_ptr,
2862                                           int ref_stride,
2863                                           unsigned int* sse);
2864 unsigned int vpx_highbd_8_variance16x16_sse2(const uint8_t* src_ptr,
2865                                              int src_stride,
2866                                              const uint8_t* ref_ptr,
2867                                              int ref_stride,
2868                                              unsigned int* sse);
2869 #define vpx_highbd_8_variance16x16 vpx_highbd_8_variance16x16_sse2
2870 
2871 unsigned int vpx_highbd_8_variance16x32_c(const uint8_t* src_ptr,
2872                                           int src_stride,
2873                                           const uint8_t* ref_ptr,
2874                                           int ref_stride,
2875                                           unsigned int* sse);
2876 unsigned int vpx_highbd_8_variance16x32_sse2(const uint8_t* src_ptr,
2877                                              int src_stride,
2878                                              const uint8_t* ref_ptr,
2879                                              int ref_stride,
2880                                              unsigned int* sse);
2881 #define vpx_highbd_8_variance16x32 vpx_highbd_8_variance16x32_sse2
2882 
2883 unsigned int vpx_highbd_8_variance16x8_c(const uint8_t* src_ptr,
2884                                          int src_stride,
2885                                          const uint8_t* ref_ptr,
2886                                          int ref_stride,
2887                                          unsigned int* sse);
2888 unsigned int vpx_highbd_8_variance16x8_sse2(const uint8_t* src_ptr,
2889                                             int src_stride,
2890                                             const uint8_t* ref_ptr,
2891                                             int ref_stride,
2892                                             unsigned int* sse);
2893 #define vpx_highbd_8_variance16x8 vpx_highbd_8_variance16x8_sse2
2894 
2895 unsigned int vpx_highbd_8_variance32x16_c(const uint8_t* src_ptr,
2896                                           int src_stride,
2897                                           const uint8_t* ref_ptr,
2898                                           int ref_stride,
2899                                           unsigned int* sse);
2900 unsigned int vpx_highbd_8_variance32x16_sse2(const uint8_t* src_ptr,
2901                                              int src_stride,
2902                                              const uint8_t* ref_ptr,
2903                                              int ref_stride,
2904                                              unsigned int* sse);
2905 #define vpx_highbd_8_variance32x16 vpx_highbd_8_variance32x16_sse2
2906 
2907 unsigned int vpx_highbd_8_variance32x32_c(const uint8_t* src_ptr,
2908                                           int src_stride,
2909                                           const uint8_t* ref_ptr,
2910                                           int ref_stride,
2911                                           unsigned int* sse);
2912 unsigned int vpx_highbd_8_variance32x32_sse2(const uint8_t* src_ptr,
2913                                              int src_stride,
2914                                              const uint8_t* ref_ptr,
2915                                              int ref_stride,
2916                                              unsigned int* sse);
2917 #define vpx_highbd_8_variance32x32 vpx_highbd_8_variance32x32_sse2
2918 
2919 unsigned int vpx_highbd_8_variance32x64_c(const uint8_t* src_ptr,
2920                                           int src_stride,
2921                                           const uint8_t* ref_ptr,
2922                                           int ref_stride,
2923                                           unsigned int* sse);
2924 unsigned int vpx_highbd_8_variance32x64_sse2(const uint8_t* src_ptr,
2925                                              int src_stride,
2926                                              const uint8_t* ref_ptr,
2927                                              int ref_stride,
2928                                              unsigned int* sse);
2929 #define vpx_highbd_8_variance32x64 vpx_highbd_8_variance32x64_sse2
2930 
2931 unsigned int vpx_highbd_8_variance4x4_c(const uint8_t* src_ptr,
2932                                         int src_stride,
2933                                         const uint8_t* ref_ptr,
2934                                         int ref_stride,
2935                                         unsigned int* sse);
2936 #define vpx_highbd_8_variance4x4 vpx_highbd_8_variance4x4_c
2937 
2938 unsigned int vpx_highbd_8_variance4x8_c(const uint8_t* src_ptr,
2939                                         int src_stride,
2940                                         const uint8_t* ref_ptr,
2941                                         int ref_stride,
2942                                         unsigned int* sse);
2943 #define vpx_highbd_8_variance4x8 vpx_highbd_8_variance4x8_c
2944 
2945 unsigned int vpx_highbd_8_variance64x32_c(const uint8_t* src_ptr,
2946                                           int src_stride,
2947                                           const uint8_t* ref_ptr,
2948                                           int ref_stride,
2949                                           unsigned int* sse);
2950 unsigned int vpx_highbd_8_variance64x32_sse2(const uint8_t* src_ptr,
2951                                              int src_stride,
2952                                              const uint8_t* ref_ptr,
2953                                              int ref_stride,
2954                                              unsigned int* sse);
2955 #define vpx_highbd_8_variance64x32 vpx_highbd_8_variance64x32_sse2
2956 
2957 unsigned int vpx_highbd_8_variance64x64_c(const uint8_t* src_ptr,
2958                                           int src_stride,
2959                                           const uint8_t* ref_ptr,
2960                                           int ref_stride,
2961                                           unsigned int* sse);
2962 unsigned int vpx_highbd_8_variance64x64_sse2(const uint8_t* src_ptr,
2963                                              int src_stride,
2964                                              const uint8_t* ref_ptr,
2965                                              int ref_stride,
2966                                              unsigned int* sse);
2967 #define vpx_highbd_8_variance64x64 vpx_highbd_8_variance64x64_sse2
2968 
2969 unsigned int vpx_highbd_8_variance8x16_c(const uint8_t* src_ptr,
2970                                          int src_stride,
2971                                          const uint8_t* ref_ptr,
2972                                          int ref_stride,
2973                                          unsigned int* sse);
2974 unsigned int vpx_highbd_8_variance8x16_sse2(const uint8_t* src_ptr,
2975                                             int src_stride,
2976                                             const uint8_t* ref_ptr,
2977                                             int ref_stride,
2978                                             unsigned int* sse);
2979 #define vpx_highbd_8_variance8x16 vpx_highbd_8_variance8x16_sse2
2980 
2981 unsigned int vpx_highbd_8_variance8x4_c(const uint8_t* src_ptr,
2982                                         int src_stride,
2983                                         const uint8_t* ref_ptr,
2984                                         int ref_stride,
2985                                         unsigned int* sse);
2986 #define vpx_highbd_8_variance8x4 vpx_highbd_8_variance8x4_c
2987 
2988 unsigned int vpx_highbd_8_variance8x8_c(const uint8_t* src_ptr,
2989                                         int src_stride,
2990                                         const uint8_t* ref_ptr,
2991                                         int ref_stride,
2992                                         unsigned int* sse);
2993 unsigned int vpx_highbd_8_variance8x8_sse2(const uint8_t* src_ptr,
2994                                            int src_stride,
2995                                            const uint8_t* ref_ptr,
2996                                            int ref_stride,
2997                                            unsigned int* sse);
2998 #define vpx_highbd_8_variance8x8 vpx_highbd_8_variance8x8_sse2
2999 
3000 unsigned int vpx_highbd_avg_4x4_c(const uint8_t* s8, int p);
3001 unsigned int vpx_highbd_avg_4x4_sse2(const uint8_t* s8, int p);
3002 #define vpx_highbd_avg_4x4 vpx_highbd_avg_4x4_sse2
3003 
3004 unsigned int vpx_highbd_avg_8x8_c(const uint8_t* s8, int p);
3005 unsigned int vpx_highbd_avg_8x8_sse2(const uint8_t* s8, int p);
3006 #define vpx_highbd_avg_8x8 vpx_highbd_avg_8x8_sse2
3007 
3008 void vpx_highbd_comp_avg_pred_c(uint16_t* comp_pred,
3009                                 const uint16_t* pred,
3010                                 int width,
3011                                 int height,
3012                                 const uint16_t* ref,
3013                                 int ref_stride);
3014 #define vpx_highbd_comp_avg_pred vpx_highbd_comp_avg_pred_c
3015 
3016 void vpx_highbd_convolve8_c(const uint16_t* src,
3017                             ptrdiff_t src_stride,
3018                             uint16_t* dst,
3019                             ptrdiff_t dst_stride,
3020                             const InterpKernel* filter,
3021                             int x0_q4,
3022                             int x_step_q4,
3023                             int y0_q4,
3024                             int y_step_q4,
3025                             int w,
3026                             int h,
3027                             int bd);
3028 void vpx_highbd_convolve8_sse2(const uint16_t* src,
3029                                ptrdiff_t src_stride,
3030                                uint16_t* dst,
3031                                ptrdiff_t dst_stride,
3032                                const InterpKernel* filter,
3033                                int x0_q4,
3034                                int x_step_q4,
3035                                int y0_q4,
3036                                int y_step_q4,
3037                                int w,
3038                                int h,
3039                                int bd);
3040 void vpx_highbd_convolve8_avx2(const uint16_t* src,
3041                                ptrdiff_t src_stride,
3042                                uint16_t* dst,
3043                                ptrdiff_t dst_stride,
3044                                const InterpKernel* filter,
3045                                int x0_q4,
3046                                int x_step_q4,
3047                                int y0_q4,
3048                                int y_step_q4,
3049                                int w,
3050                                int h,
3051                                int bd);
3052 RTCD_EXTERN void (*vpx_highbd_convolve8)(const uint16_t* src,
3053                                          ptrdiff_t src_stride,
3054                                          uint16_t* dst,
3055                                          ptrdiff_t dst_stride,
3056                                          const InterpKernel* filter,
3057                                          int x0_q4,
3058                                          int x_step_q4,
3059                                          int y0_q4,
3060                                          int y_step_q4,
3061                                          int w,
3062                                          int h,
3063                                          int bd);
3064 
3065 void vpx_highbd_convolve8_avg_c(const uint16_t* src,
3066                                 ptrdiff_t src_stride,
3067                                 uint16_t* dst,
3068                                 ptrdiff_t dst_stride,
3069                                 const InterpKernel* filter,
3070                                 int x0_q4,
3071                                 int x_step_q4,
3072                                 int y0_q4,
3073                                 int y_step_q4,
3074                                 int w,
3075                                 int h,
3076                                 int bd);
3077 void vpx_highbd_convolve8_avg_sse2(const uint16_t* src,
3078                                    ptrdiff_t src_stride,
3079                                    uint16_t* dst,
3080                                    ptrdiff_t dst_stride,
3081                                    const InterpKernel* filter,
3082                                    int x0_q4,
3083                                    int x_step_q4,
3084                                    int y0_q4,
3085                                    int y_step_q4,
3086                                    int w,
3087                                    int h,
3088                                    int bd);
3089 void vpx_highbd_convolve8_avg_avx2(const uint16_t* src,
3090                                    ptrdiff_t src_stride,
3091                                    uint16_t* dst,
3092                                    ptrdiff_t dst_stride,
3093                                    const InterpKernel* filter,
3094                                    int x0_q4,
3095                                    int x_step_q4,
3096                                    int y0_q4,
3097                                    int y_step_q4,
3098                                    int w,
3099                                    int h,
3100                                    int bd);
3101 RTCD_EXTERN void (*vpx_highbd_convolve8_avg)(const uint16_t* src,
3102                                              ptrdiff_t src_stride,
3103                                              uint16_t* dst,
3104                                              ptrdiff_t dst_stride,
3105                                              const InterpKernel* filter,
3106                                              int x0_q4,
3107                                              int x_step_q4,
3108                                              int y0_q4,
3109                                              int y_step_q4,
3110                                              int w,
3111                                              int h,
3112                                              int bd);
3113 
3114 void vpx_highbd_convolve8_avg_horiz_c(const uint16_t* src,
3115                                       ptrdiff_t src_stride,
3116                                       uint16_t* dst,
3117                                       ptrdiff_t dst_stride,
3118                                       const InterpKernel* filter,
3119                                       int x0_q4,
3120                                       int x_step_q4,
3121                                       int y0_q4,
3122                                       int y_step_q4,
3123                                       int w,
3124                                       int h,
3125                                       int bd);
3126 void vpx_highbd_convolve8_avg_horiz_sse2(const uint16_t* src,
3127                                          ptrdiff_t src_stride,
3128                                          uint16_t* dst,
3129                                          ptrdiff_t dst_stride,
3130                                          const InterpKernel* filter,
3131                                          int x0_q4,
3132                                          int x_step_q4,
3133                                          int y0_q4,
3134                                          int y_step_q4,
3135                                          int w,
3136                                          int h,
3137                                          int bd);
3138 void vpx_highbd_convolve8_avg_horiz_avx2(const uint16_t* src,
3139                                          ptrdiff_t src_stride,
3140                                          uint16_t* dst,
3141                                          ptrdiff_t dst_stride,
3142                                          const InterpKernel* filter,
3143                                          int x0_q4,
3144                                          int x_step_q4,
3145                                          int y0_q4,
3146                                          int y_step_q4,
3147                                          int w,
3148                                          int h,
3149                                          int bd);
3150 RTCD_EXTERN void (*vpx_highbd_convolve8_avg_horiz)(const uint16_t* src,
3151                                                    ptrdiff_t src_stride,
3152                                                    uint16_t* dst,
3153                                                    ptrdiff_t dst_stride,
3154                                                    const InterpKernel* filter,
3155                                                    int x0_q4,
3156                                                    int x_step_q4,
3157                                                    int y0_q4,
3158                                                    int y_step_q4,
3159                                                    int w,
3160                                                    int h,
3161                                                    int bd);
3162 
3163 void vpx_highbd_convolve8_avg_vert_c(const uint16_t* src,
3164                                      ptrdiff_t src_stride,
3165                                      uint16_t* dst,
3166                                      ptrdiff_t dst_stride,
3167                                      const InterpKernel* filter,
3168                                      int x0_q4,
3169                                      int x_step_q4,
3170                                      int y0_q4,
3171                                      int y_step_q4,
3172                                      int w,
3173                                      int h,
3174                                      int bd);
3175 void vpx_highbd_convolve8_avg_vert_sse2(const uint16_t* src,
3176                                         ptrdiff_t src_stride,
3177                                         uint16_t* dst,
3178                                         ptrdiff_t dst_stride,
3179                                         const InterpKernel* filter,
3180                                         int x0_q4,
3181                                         int x_step_q4,
3182                                         int y0_q4,
3183                                         int y_step_q4,
3184                                         int w,
3185                                         int h,
3186                                         int bd);
3187 void vpx_highbd_convolve8_avg_vert_avx2(const uint16_t* src,
3188                                         ptrdiff_t src_stride,
3189                                         uint16_t* dst,
3190                                         ptrdiff_t dst_stride,
3191                                         const InterpKernel* filter,
3192                                         int x0_q4,
3193                                         int x_step_q4,
3194                                         int y0_q4,
3195                                         int y_step_q4,
3196                                         int w,
3197                                         int h,
3198                                         int bd);
3199 RTCD_EXTERN void (*vpx_highbd_convolve8_avg_vert)(const uint16_t* src,
3200                                                   ptrdiff_t src_stride,
3201                                                   uint16_t* dst,
3202                                                   ptrdiff_t dst_stride,
3203                                                   const InterpKernel* filter,
3204                                                   int x0_q4,
3205                                                   int x_step_q4,
3206                                                   int y0_q4,
3207                                                   int y_step_q4,
3208                                                   int w,
3209                                                   int h,
3210                                                   int bd);
3211 
3212 void vpx_highbd_convolve8_horiz_c(const uint16_t* src,
3213                                   ptrdiff_t src_stride,
3214                                   uint16_t* dst,
3215                                   ptrdiff_t dst_stride,
3216                                   const InterpKernel* filter,
3217                                   int x0_q4,
3218                                   int x_step_q4,
3219                                   int y0_q4,
3220                                   int y_step_q4,
3221                                   int w,
3222                                   int h,
3223                                   int bd);
3224 void vpx_highbd_convolve8_horiz_sse2(const uint16_t* src,
3225                                      ptrdiff_t src_stride,
3226                                      uint16_t* dst,
3227                                      ptrdiff_t dst_stride,
3228                                      const InterpKernel* filter,
3229                                      int x0_q4,
3230                                      int x_step_q4,
3231                                      int y0_q4,
3232                                      int y_step_q4,
3233                                      int w,
3234                                      int h,
3235                                      int bd);
3236 void vpx_highbd_convolve8_horiz_avx2(const uint16_t* src,
3237                                      ptrdiff_t src_stride,
3238                                      uint16_t* dst,
3239                                      ptrdiff_t dst_stride,
3240                                      const InterpKernel* filter,
3241                                      int x0_q4,
3242                                      int x_step_q4,
3243                                      int y0_q4,
3244                                      int y_step_q4,
3245                                      int w,
3246                                      int h,
3247                                      int bd);
3248 RTCD_EXTERN void (*vpx_highbd_convolve8_horiz)(const uint16_t* src,
3249                                                ptrdiff_t src_stride,
3250                                                uint16_t* dst,
3251                                                ptrdiff_t dst_stride,
3252                                                const InterpKernel* filter,
3253                                                int x0_q4,
3254                                                int x_step_q4,
3255                                                int y0_q4,
3256                                                int y_step_q4,
3257                                                int w,
3258                                                int h,
3259                                                int bd);
3260 
3261 void vpx_highbd_convolve8_vert_c(const uint16_t* src,
3262                                  ptrdiff_t src_stride,
3263                                  uint16_t* dst,
3264                                  ptrdiff_t dst_stride,
3265                                  const InterpKernel* filter,
3266                                  int x0_q4,
3267                                  int x_step_q4,
3268                                  int y0_q4,
3269                                  int y_step_q4,
3270                                  int w,
3271                                  int h,
3272                                  int bd);
3273 void vpx_highbd_convolve8_vert_sse2(const uint16_t* src,
3274                                     ptrdiff_t src_stride,
3275                                     uint16_t* dst,
3276                                     ptrdiff_t dst_stride,
3277                                     const InterpKernel* filter,
3278                                     int x0_q4,
3279                                     int x_step_q4,
3280                                     int y0_q4,
3281                                     int y_step_q4,
3282                                     int w,
3283                                     int h,
3284                                     int bd);
3285 void vpx_highbd_convolve8_vert_avx2(const uint16_t* src,
3286                                     ptrdiff_t src_stride,
3287                                     uint16_t* dst,
3288                                     ptrdiff_t dst_stride,
3289                                     const InterpKernel* filter,
3290                                     int x0_q4,
3291                                     int x_step_q4,
3292                                     int y0_q4,
3293                                     int y_step_q4,
3294                                     int w,
3295                                     int h,
3296                                     int bd);
3297 RTCD_EXTERN void (*vpx_highbd_convolve8_vert)(const uint16_t* src,
3298                                               ptrdiff_t src_stride,
3299                                               uint16_t* dst,
3300                                               ptrdiff_t dst_stride,
3301                                               const InterpKernel* filter,
3302                                               int x0_q4,
3303                                               int x_step_q4,
3304                                               int y0_q4,
3305                                               int y_step_q4,
3306                                               int w,
3307                                               int h,
3308                                               int bd);
3309 
3310 void vpx_highbd_convolve_avg_c(const uint16_t* src,
3311                                ptrdiff_t src_stride,
3312                                uint16_t* dst,
3313                                ptrdiff_t dst_stride,
3314                                const InterpKernel* filter,
3315                                int x0_q4,
3316                                int x_step_q4,
3317                                int y0_q4,
3318                                int y_step_q4,
3319                                int w,
3320                                int h,
3321                                int bd);
3322 void vpx_highbd_convolve_avg_sse2(const uint16_t* src,
3323                                   ptrdiff_t src_stride,
3324                                   uint16_t* dst,
3325                                   ptrdiff_t dst_stride,
3326                                   const InterpKernel* filter,
3327                                   int x0_q4,
3328                                   int x_step_q4,
3329                                   int y0_q4,
3330                                   int y_step_q4,
3331                                   int w,
3332                                   int h,
3333                                   int bd);
3334 void vpx_highbd_convolve_avg_avx2(const uint16_t* src,
3335                                   ptrdiff_t src_stride,
3336                                   uint16_t* dst,
3337                                   ptrdiff_t dst_stride,
3338                                   const InterpKernel* filter,
3339                                   int x0_q4,
3340                                   int x_step_q4,
3341                                   int y0_q4,
3342                                   int y_step_q4,
3343                                   int w,
3344                                   int h,
3345                                   int bd);
3346 RTCD_EXTERN void (*vpx_highbd_convolve_avg)(const uint16_t* src,
3347                                             ptrdiff_t src_stride,
3348                                             uint16_t* dst,
3349                                             ptrdiff_t dst_stride,
3350                                             const InterpKernel* filter,
3351                                             int x0_q4,
3352                                             int x_step_q4,
3353                                             int y0_q4,
3354                                             int y_step_q4,
3355                                             int w,
3356                                             int h,
3357                                             int bd);
3358 
3359 void vpx_highbd_convolve_copy_c(const uint16_t* src,
3360                                 ptrdiff_t src_stride,
3361                                 uint16_t* dst,
3362                                 ptrdiff_t dst_stride,
3363                                 const InterpKernel* filter,
3364                                 int x0_q4,
3365                                 int x_step_q4,
3366                                 int y0_q4,
3367                                 int y_step_q4,
3368                                 int w,
3369                                 int h,
3370                                 int bd);
3371 void vpx_highbd_convolve_copy_sse2(const uint16_t* src,
3372                                    ptrdiff_t src_stride,
3373                                    uint16_t* dst,
3374                                    ptrdiff_t dst_stride,
3375                                    const InterpKernel* filter,
3376                                    int x0_q4,
3377                                    int x_step_q4,
3378                                    int y0_q4,
3379                                    int y_step_q4,
3380                                    int w,
3381                                    int h,
3382                                    int bd);
3383 void vpx_highbd_convolve_copy_avx2(const uint16_t* src,
3384                                    ptrdiff_t src_stride,
3385                                    uint16_t* dst,
3386                                    ptrdiff_t dst_stride,
3387                                    const InterpKernel* filter,
3388                                    int x0_q4,
3389                                    int x_step_q4,
3390                                    int y0_q4,
3391                                    int y_step_q4,
3392                                    int w,
3393                                    int h,
3394                                    int bd);
3395 RTCD_EXTERN void (*vpx_highbd_convolve_copy)(const uint16_t* src,
3396                                              ptrdiff_t src_stride,
3397                                              uint16_t* dst,
3398                                              ptrdiff_t dst_stride,
3399                                              const InterpKernel* filter,
3400                                              int x0_q4,
3401                                              int x_step_q4,
3402                                              int y0_q4,
3403                                              int y_step_q4,
3404                                              int w,
3405                                              int h,
3406                                              int bd);
3407 
3408 void vpx_highbd_d117_predictor_16x16_c(uint16_t* dst,
3409                                        ptrdiff_t stride,
3410                                        const uint16_t* above,
3411                                        const uint16_t* left,
3412                                        int bd);
3413 void vpx_highbd_d117_predictor_16x16_ssse3(uint16_t* dst,
3414                                            ptrdiff_t stride,
3415                                            const uint16_t* above,
3416                                            const uint16_t* left,
3417                                            int bd);
3418 RTCD_EXTERN void (*vpx_highbd_d117_predictor_16x16)(uint16_t* dst,
3419                                                     ptrdiff_t stride,
3420                                                     const uint16_t* above,
3421                                                     const uint16_t* left,
3422                                                     int bd);
3423 
3424 void vpx_highbd_d117_predictor_32x32_c(uint16_t* dst,
3425                                        ptrdiff_t stride,
3426                                        const uint16_t* above,
3427                                        const uint16_t* left,
3428                                        int bd);
3429 void vpx_highbd_d117_predictor_32x32_ssse3(uint16_t* dst,
3430                                            ptrdiff_t stride,
3431                                            const uint16_t* above,
3432                                            const uint16_t* left,
3433                                            int bd);
3434 RTCD_EXTERN void (*vpx_highbd_d117_predictor_32x32)(uint16_t* dst,
3435                                                     ptrdiff_t stride,
3436                                                     const uint16_t* above,
3437                                                     const uint16_t* left,
3438                                                     int bd);
3439 
3440 void vpx_highbd_d117_predictor_4x4_c(uint16_t* dst,
3441                                      ptrdiff_t stride,
3442                                      const uint16_t* above,
3443                                      const uint16_t* left,
3444                                      int bd);
3445 void vpx_highbd_d117_predictor_4x4_sse2(uint16_t* dst,
3446                                         ptrdiff_t stride,
3447                                         const uint16_t* above,
3448                                         const uint16_t* left,
3449                                         int bd);
3450 #define vpx_highbd_d117_predictor_4x4 vpx_highbd_d117_predictor_4x4_sse2
3451 
3452 void vpx_highbd_d117_predictor_8x8_c(uint16_t* dst,
3453                                      ptrdiff_t stride,
3454                                      const uint16_t* above,
3455                                      const uint16_t* left,
3456                                      int bd);
3457 void vpx_highbd_d117_predictor_8x8_ssse3(uint16_t* dst,
3458                                          ptrdiff_t stride,
3459                                          const uint16_t* above,
3460                                          const uint16_t* left,
3461                                          int bd);
3462 RTCD_EXTERN void (*vpx_highbd_d117_predictor_8x8)(uint16_t* dst,
3463                                                   ptrdiff_t stride,
3464                                                   const uint16_t* above,
3465                                                   const uint16_t* left,
3466                                                   int bd);
3467 
3468 void vpx_highbd_d135_predictor_16x16_c(uint16_t* dst,
3469                                        ptrdiff_t stride,
3470                                        const uint16_t* above,
3471                                        const uint16_t* left,
3472                                        int bd);
3473 void vpx_highbd_d135_predictor_16x16_ssse3(uint16_t* dst,
3474                                            ptrdiff_t stride,
3475                                            const uint16_t* above,
3476                                            const uint16_t* left,
3477                                            int bd);
3478 RTCD_EXTERN void (*vpx_highbd_d135_predictor_16x16)(uint16_t* dst,
3479                                                     ptrdiff_t stride,
3480                                                     const uint16_t* above,
3481                                                     const uint16_t* left,
3482                                                     int bd);
3483 
3484 void vpx_highbd_d135_predictor_32x32_c(uint16_t* dst,
3485                                        ptrdiff_t stride,
3486                                        const uint16_t* above,
3487                                        const uint16_t* left,
3488                                        int bd);
3489 void vpx_highbd_d135_predictor_32x32_ssse3(uint16_t* dst,
3490                                            ptrdiff_t stride,
3491                                            const uint16_t* above,
3492                                            const uint16_t* left,
3493                                            int bd);
3494 RTCD_EXTERN void (*vpx_highbd_d135_predictor_32x32)(uint16_t* dst,
3495                                                     ptrdiff_t stride,
3496                                                     const uint16_t* above,
3497                                                     const uint16_t* left,
3498                                                     int bd);
3499 
3500 void vpx_highbd_d135_predictor_4x4_c(uint16_t* dst,
3501                                      ptrdiff_t stride,
3502                                      const uint16_t* above,
3503                                      const uint16_t* left,
3504                                      int bd);
3505 void vpx_highbd_d135_predictor_4x4_sse2(uint16_t* dst,
3506                                         ptrdiff_t stride,
3507                                         const uint16_t* above,
3508                                         const uint16_t* left,
3509                                         int bd);
3510 #define vpx_highbd_d135_predictor_4x4 vpx_highbd_d135_predictor_4x4_sse2
3511 
3512 void vpx_highbd_d135_predictor_8x8_c(uint16_t* dst,
3513                                      ptrdiff_t stride,
3514                                      const uint16_t* above,
3515                                      const uint16_t* left,
3516                                      int bd);
3517 void vpx_highbd_d135_predictor_8x8_ssse3(uint16_t* dst,
3518                                          ptrdiff_t stride,
3519                                          const uint16_t* above,
3520                                          const uint16_t* left,
3521                                          int bd);
3522 RTCD_EXTERN void (*vpx_highbd_d135_predictor_8x8)(uint16_t* dst,
3523                                                   ptrdiff_t stride,
3524                                                   const uint16_t* above,
3525                                                   const uint16_t* left,
3526                                                   int bd);
3527 
3528 void vpx_highbd_d153_predictor_16x16_c(uint16_t* dst,
3529                                        ptrdiff_t stride,
3530                                        const uint16_t* above,
3531                                        const uint16_t* left,
3532                                        int bd);
3533 void vpx_highbd_d153_predictor_16x16_ssse3(uint16_t* dst,
3534                                            ptrdiff_t stride,
3535                                            const uint16_t* above,
3536                                            const uint16_t* left,
3537                                            int bd);
3538 RTCD_EXTERN void (*vpx_highbd_d153_predictor_16x16)(uint16_t* dst,
3539                                                     ptrdiff_t stride,
3540                                                     const uint16_t* above,
3541                                                     const uint16_t* left,
3542                                                     int bd);
3543 
3544 void vpx_highbd_d153_predictor_32x32_c(uint16_t* dst,
3545                                        ptrdiff_t stride,
3546                                        const uint16_t* above,
3547                                        const uint16_t* left,
3548                                        int bd);
3549 void vpx_highbd_d153_predictor_32x32_ssse3(uint16_t* dst,
3550                                            ptrdiff_t stride,
3551                                            const uint16_t* above,
3552                                            const uint16_t* left,
3553                                            int bd);
3554 RTCD_EXTERN void (*vpx_highbd_d153_predictor_32x32)(uint16_t* dst,
3555                                                     ptrdiff_t stride,
3556                                                     const uint16_t* above,
3557                                                     const uint16_t* left,
3558                                                     int bd);
3559 
3560 void vpx_highbd_d153_predictor_4x4_c(uint16_t* dst,
3561                                      ptrdiff_t stride,
3562                                      const uint16_t* above,
3563                                      const uint16_t* left,
3564                                      int bd);
3565 void vpx_highbd_d153_predictor_4x4_sse2(uint16_t* dst,
3566                                         ptrdiff_t stride,
3567                                         const uint16_t* above,
3568                                         const uint16_t* left,
3569                                         int bd);
3570 #define vpx_highbd_d153_predictor_4x4 vpx_highbd_d153_predictor_4x4_sse2
3571 
3572 void vpx_highbd_d153_predictor_8x8_c(uint16_t* dst,
3573                                      ptrdiff_t stride,
3574                                      const uint16_t* above,
3575                                      const uint16_t* left,
3576                                      int bd);
3577 void vpx_highbd_d153_predictor_8x8_ssse3(uint16_t* dst,
3578                                          ptrdiff_t stride,
3579                                          const uint16_t* above,
3580                                          const uint16_t* left,
3581                                          int bd);
3582 RTCD_EXTERN void (*vpx_highbd_d153_predictor_8x8)(uint16_t* dst,
3583                                                   ptrdiff_t stride,
3584                                                   const uint16_t* above,
3585                                                   const uint16_t* left,
3586                                                   int bd);
3587 
3588 void vpx_highbd_d207_predictor_16x16_c(uint16_t* dst,
3589                                        ptrdiff_t stride,
3590                                        const uint16_t* above,
3591                                        const uint16_t* left,
3592                                        int bd);
3593 void vpx_highbd_d207_predictor_16x16_ssse3(uint16_t* dst,
3594                                            ptrdiff_t stride,
3595                                            const uint16_t* above,
3596                                            const uint16_t* left,
3597                                            int bd);
3598 RTCD_EXTERN void (*vpx_highbd_d207_predictor_16x16)(uint16_t* dst,
3599                                                     ptrdiff_t stride,
3600                                                     const uint16_t* above,
3601                                                     const uint16_t* left,
3602                                                     int bd);
3603 
3604 void vpx_highbd_d207_predictor_32x32_c(uint16_t* dst,
3605                                        ptrdiff_t stride,
3606                                        const uint16_t* above,
3607                                        const uint16_t* left,
3608                                        int bd);
3609 void vpx_highbd_d207_predictor_32x32_ssse3(uint16_t* dst,
3610                                            ptrdiff_t stride,
3611                                            const uint16_t* above,
3612                                            const uint16_t* left,
3613                                            int bd);
3614 RTCD_EXTERN void (*vpx_highbd_d207_predictor_32x32)(uint16_t* dst,
3615                                                     ptrdiff_t stride,
3616                                                     const uint16_t* above,
3617                                                     const uint16_t* left,
3618                                                     int bd);
3619 
3620 void vpx_highbd_d207_predictor_4x4_c(uint16_t* dst,
3621                                      ptrdiff_t stride,
3622                                      const uint16_t* above,
3623                                      const uint16_t* left,
3624                                      int bd);
3625 void vpx_highbd_d207_predictor_4x4_sse2(uint16_t* dst,
3626                                         ptrdiff_t stride,
3627                                         const uint16_t* above,
3628                                         const uint16_t* left,
3629                                         int bd);
3630 #define vpx_highbd_d207_predictor_4x4 vpx_highbd_d207_predictor_4x4_sse2
3631 
3632 void vpx_highbd_d207_predictor_8x8_c(uint16_t* dst,
3633                                      ptrdiff_t stride,
3634                                      const uint16_t* above,
3635                                      const uint16_t* left,
3636                                      int bd);
3637 void vpx_highbd_d207_predictor_8x8_ssse3(uint16_t* dst,
3638                                          ptrdiff_t stride,
3639                                          const uint16_t* above,
3640                                          const uint16_t* left,
3641                                          int bd);
3642 RTCD_EXTERN void (*vpx_highbd_d207_predictor_8x8)(uint16_t* dst,
3643                                                   ptrdiff_t stride,
3644                                                   const uint16_t* above,
3645                                                   const uint16_t* left,
3646                                                   int bd);
3647 
3648 void vpx_highbd_d45_predictor_16x16_c(uint16_t* dst,
3649                                       ptrdiff_t stride,
3650                                       const uint16_t* above,
3651                                       const uint16_t* left,
3652                                       int bd);
3653 void vpx_highbd_d45_predictor_16x16_ssse3(uint16_t* dst,
3654                                           ptrdiff_t stride,
3655                                           const uint16_t* above,
3656                                           const uint16_t* left,
3657                                           int bd);
3658 RTCD_EXTERN void (*vpx_highbd_d45_predictor_16x16)(uint16_t* dst,
3659                                                    ptrdiff_t stride,
3660                                                    const uint16_t* above,
3661                                                    const uint16_t* left,
3662                                                    int bd);
3663 
3664 void vpx_highbd_d45_predictor_32x32_c(uint16_t* dst,
3665                                       ptrdiff_t stride,
3666                                       const uint16_t* above,
3667                                       const uint16_t* left,
3668                                       int bd);
3669 void vpx_highbd_d45_predictor_32x32_ssse3(uint16_t* dst,
3670                                           ptrdiff_t stride,
3671                                           const uint16_t* above,
3672                                           const uint16_t* left,
3673                                           int bd);
3674 RTCD_EXTERN void (*vpx_highbd_d45_predictor_32x32)(uint16_t* dst,
3675                                                    ptrdiff_t stride,
3676                                                    const uint16_t* above,
3677                                                    const uint16_t* left,
3678                                                    int bd);
3679 
3680 void vpx_highbd_d45_predictor_4x4_c(uint16_t* dst,
3681                                     ptrdiff_t stride,
3682                                     const uint16_t* above,
3683                                     const uint16_t* left,
3684                                     int bd);
3685 void vpx_highbd_d45_predictor_4x4_ssse3(uint16_t* dst,
3686                                         ptrdiff_t stride,
3687                                         const uint16_t* above,
3688                                         const uint16_t* left,
3689                                         int bd);
3690 RTCD_EXTERN void (*vpx_highbd_d45_predictor_4x4)(uint16_t* dst,
3691                                                  ptrdiff_t stride,
3692                                                  const uint16_t* above,
3693                                                  const uint16_t* left,
3694                                                  int bd);
3695 
3696 void vpx_highbd_d45_predictor_8x8_c(uint16_t* dst,
3697                                     ptrdiff_t stride,
3698                                     const uint16_t* above,
3699                                     const uint16_t* left,
3700                                     int bd);
3701 void vpx_highbd_d45_predictor_8x8_ssse3(uint16_t* dst,
3702                                         ptrdiff_t stride,
3703                                         const uint16_t* above,
3704                                         const uint16_t* left,
3705                                         int bd);
3706 RTCD_EXTERN void (*vpx_highbd_d45_predictor_8x8)(uint16_t* dst,
3707                                                  ptrdiff_t stride,
3708                                                  const uint16_t* above,
3709                                                  const uint16_t* left,
3710                                                  int bd);
3711 
3712 void vpx_highbd_d63_predictor_16x16_c(uint16_t* dst,
3713                                       ptrdiff_t stride,
3714                                       const uint16_t* above,
3715                                       const uint16_t* left,
3716                                       int bd);
3717 void vpx_highbd_d63_predictor_16x16_ssse3(uint16_t* dst,
3718                                           ptrdiff_t stride,
3719                                           const uint16_t* above,
3720                                           const uint16_t* left,
3721                                           int bd);
3722 RTCD_EXTERN void (*vpx_highbd_d63_predictor_16x16)(uint16_t* dst,
3723                                                    ptrdiff_t stride,
3724                                                    const uint16_t* above,
3725                                                    const uint16_t* left,
3726                                                    int bd);
3727 
3728 void vpx_highbd_d63_predictor_32x32_c(uint16_t* dst,
3729                                       ptrdiff_t stride,
3730                                       const uint16_t* above,
3731                                       const uint16_t* left,
3732                                       int bd);
3733 void vpx_highbd_d63_predictor_32x32_ssse3(uint16_t* dst,
3734                                           ptrdiff_t stride,
3735                                           const uint16_t* above,
3736                                           const uint16_t* left,
3737                                           int bd);
3738 RTCD_EXTERN void (*vpx_highbd_d63_predictor_32x32)(uint16_t* dst,
3739                                                    ptrdiff_t stride,
3740                                                    const uint16_t* above,
3741                                                    const uint16_t* left,
3742                                                    int bd);
3743 
3744 void vpx_highbd_d63_predictor_4x4_c(uint16_t* dst,
3745                                     ptrdiff_t stride,
3746                                     const uint16_t* above,
3747                                     const uint16_t* left,
3748                                     int bd);
3749 void vpx_highbd_d63_predictor_4x4_sse2(uint16_t* dst,
3750                                        ptrdiff_t stride,
3751                                        const uint16_t* above,
3752                                        const uint16_t* left,
3753                                        int bd);
3754 #define vpx_highbd_d63_predictor_4x4 vpx_highbd_d63_predictor_4x4_sse2
3755 
3756 void vpx_highbd_d63_predictor_8x8_c(uint16_t* dst,
3757                                     ptrdiff_t stride,
3758                                     const uint16_t* above,
3759                                     const uint16_t* left,
3760                                     int bd);
3761 void vpx_highbd_d63_predictor_8x8_ssse3(uint16_t* dst,
3762                                         ptrdiff_t stride,
3763                                         const uint16_t* above,
3764                                         const uint16_t* left,
3765                                         int bd);
3766 RTCD_EXTERN void (*vpx_highbd_d63_predictor_8x8)(uint16_t* dst,
3767                                                  ptrdiff_t stride,
3768                                                  const uint16_t* above,
3769                                                  const uint16_t* left,
3770                                                  int bd);
3771 
3772 void vpx_highbd_dc_128_predictor_16x16_c(uint16_t* dst,
3773                                          ptrdiff_t stride,
3774                                          const uint16_t* above,
3775                                          const uint16_t* left,
3776                                          int bd);
3777 void vpx_highbd_dc_128_predictor_16x16_sse2(uint16_t* dst,
3778                                             ptrdiff_t stride,
3779                                             const uint16_t* above,
3780                                             const uint16_t* left,
3781                                             int bd);
3782 #define vpx_highbd_dc_128_predictor_16x16 vpx_highbd_dc_128_predictor_16x16_sse2
3783 
3784 void vpx_highbd_dc_128_predictor_32x32_c(uint16_t* dst,
3785                                          ptrdiff_t stride,
3786                                          const uint16_t* above,
3787                                          const uint16_t* left,
3788                                          int bd);
3789 void vpx_highbd_dc_128_predictor_32x32_sse2(uint16_t* dst,
3790                                             ptrdiff_t stride,
3791                                             const uint16_t* above,
3792                                             const uint16_t* left,
3793                                             int bd);
3794 #define vpx_highbd_dc_128_predictor_32x32 vpx_highbd_dc_128_predictor_32x32_sse2
3795 
3796 void vpx_highbd_dc_128_predictor_4x4_c(uint16_t* dst,
3797                                        ptrdiff_t stride,
3798                                        const uint16_t* above,
3799                                        const uint16_t* left,
3800                                        int bd);
3801 void vpx_highbd_dc_128_predictor_4x4_sse2(uint16_t* dst,
3802                                           ptrdiff_t stride,
3803                                           const uint16_t* above,
3804                                           const uint16_t* left,
3805                                           int bd);
3806 #define vpx_highbd_dc_128_predictor_4x4 vpx_highbd_dc_128_predictor_4x4_sse2
3807 
3808 void vpx_highbd_dc_128_predictor_8x8_c(uint16_t* dst,
3809                                        ptrdiff_t stride,
3810                                        const uint16_t* above,
3811                                        const uint16_t* left,
3812                                        int bd);
3813 void vpx_highbd_dc_128_predictor_8x8_sse2(uint16_t* dst,
3814                                           ptrdiff_t stride,
3815                                           const uint16_t* above,
3816                                           const uint16_t* left,
3817                                           int bd);
3818 #define vpx_highbd_dc_128_predictor_8x8 vpx_highbd_dc_128_predictor_8x8_sse2
3819 
3820 void vpx_highbd_dc_left_predictor_16x16_c(uint16_t* dst,
3821                                           ptrdiff_t stride,
3822                                           const uint16_t* above,
3823                                           const uint16_t* left,
3824                                           int bd);
3825 void vpx_highbd_dc_left_predictor_16x16_sse2(uint16_t* dst,
3826                                              ptrdiff_t stride,
3827                                              const uint16_t* above,
3828                                              const uint16_t* left,
3829                                              int bd);
3830 #define vpx_highbd_dc_left_predictor_16x16 \
3831   vpx_highbd_dc_left_predictor_16x16_sse2
3832 
3833 void vpx_highbd_dc_left_predictor_32x32_c(uint16_t* dst,
3834                                           ptrdiff_t stride,
3835                                           const uint16_t* above,
3836                                           const uint16_t* left,
3837                                           int bd);
3838 void vpx_highbd_dc_left_predictor_32x32_sse2(uint16_t* dst,
3839                                              ptrdiff_t stride,
3840                                              const uint16_t* above,
3841                                              const uint16_t* left,
3842                                              int bd);
3843 #define vpx_highbd_dc_left_predictor_32x32 \
3844   vpx_highbd_dc_left_predictor_32x32_sse2
3845 
3846 void vpx_highbd_dc_left_predictor_4x4_c(uint16_t* dst,
3847                                         ptrdiff_t stride,
3848                                         const uint16_t* above,
3849                                         const uint16_t* left,
3850                                         int bd);
3851 void vpx_highbd_dc_left_predictor_4x4_sse2(uint16_t* dst,
3852                                            ptrdiff_t stride,
3853                                            const uint16_t* above,
3854                                            const uint16_t* left,
3855                                            int bd);
3856 #define vpx_highbd_dc_left_predictor_4x4 vpx_highbd_dc_left_predictor_4x4_sse2
3857 
3858 void vpx_highbd_dc_left_predictor_8x8_c(uint16_t* dst,
3859                                         ptrdiff_t stride,
3860                                         const uint16_t* above,
3861                                         const uint16_t* left,
3862                                         int bd);
3863 void vpx_highbd_dc_left_predictor_8x8_sse2(uint16_t* dst,
3864                                            ptrdiff_t stride,
3865                                            const uint16_t* above,
3866                                            const uint16_t* left,
3867                                            int bd);
3868 #define vpx_highbd_dc_left_predictor_8x8 vpx_highbd_dc_left_predictor_8x8_sse2
3869 
3870 void vpx_highbd_dc_predictor_16x16_c(uint16_t* dst,
3871                                      ptrdiff_t stride,
3872                                      const uint16_t* above,
3873                                      const uint16_t* left,
3874                                      int bd);
3875 void vpx_highbd_dc_predictor_16x16_sse2(uint16_t* dst,
3876                                         ptrdiff_t stride,
3877                                         const uint16_t* above,
3878                                         const uint16_t* left,
3879                                         int bd);
3880 #define vpx_highbd_dc_predictor_16x16 vpx_highbd_dc_predictor_16x16_sse2
3881 
3882 void vpx_highbd_dc_predictor_32x32_c(uint16_t* dst,
3883                                      ptrdiff_t stride,
3884                                      const uint16_t* above,
3885                                      const uint16_t* left,
3886                                      int bd);
3887 void vpx_highbd_dc_predictor_32x32_sse2(uint16_t* dst,
3888                                         ptrdiff_t stride,
3889                                         const uint16_t* above,
3890                                         const uint16_t* left,
3891                                         int bd);
3892 #define vpx_highbd_dc_predictor_32x32 vpx_highbd_dc_predictor_32x32_sse2
3893 
3894 void vpx_highbd_dc_predictor_4x4_c(uint16_t* dst,
3895                                    ptrdiff_t stride,
3896                                    const uint16_t* above,
3897                                    const uint16_t* left,
3898                                    int bd);
3899 void vpx_highbd_dc_predictor_4x4_sse2(uint16_t* dst,
3900                                       ptrdiff_t stride,
3901                                       const uint16_t* above,
3902                                       const uint16_t* left,
3903                                       int bd);
3904 #define vpx_highbd_dc_predictor_4x4 vpx_highbd_dc_predictor_4x4_sse2
3905 
3906 void vpx_highbd_dc_predictor_8x8_c(uint16_t* dst,
3907                                    ptrdiff_t stride,
3908                                    const uint16_t* above,
3909                                    const uint16_t* left,
3910                                    int bd);
3911 void vpx_highbd_dc_predictor_8x8_sse2(uint16_t* dst,
3912                                       ptrdiff_t stride,
3913                                       const uint16_t* above,
3914                                       const uint16_t* left,
3915                                       int bd);
3916 #define vpx_highbd_dc_predictor_8x8 vpx_highbd_dc_predictor_8x8_sse2
3917 
3918 void vpx_highbd_dc_top_predictor_16x16_c(uint16_t* dst,
3919                                          ptrdiff_t stride,
3920                                          const uint16_t* above,
3921                                          const uint16_t* left,
3922                                          int bd);
3923 void vpx_highbd_dc_top_predictor_16x16_sse2(uint16_t* dst,
3924                                             ptrdiff_t stride,
3925                                             const uint16_t* above,
3926                                             const uint16_t* left,
3927                                             int bd);
3928 #define vpx_highbd_dc_top_predictor_16x16 vpx_highbd_dc_top_predictor_16x16_sse2
3929 
3930 void vpx_highbd_dc_top_predictor_32x32_c(uint16_t* dst,
3931                                          ptrdiff_t stride,
3932                                          const uint16_t* above,
3933                                          const uint16_t* left,
3934                                          int bd);
3935 void vpx_highbd_dc_top_predictor_32x32_sse2(uint16_t* dst,
3936                                             ptrdiff_t stride,
3937                                             const uint16_t* above,
3938                                             const uint16_t* left,
3939                                             int bd);
3940 #define vpx_highbd_dc_top_predictor_32x32 vpx_highbd_dc_top_predictor_32x32_sse2
3941 
3942 void vpx_highbd_dc_top_predictor_4x4_c(uint16_t* dst,
3943                                        ptrdiff_t stride,
3944                                        const uint16_t* above,
3945                                        const uint16_t* left,
3946                                        int bd);
3947 void vpx_highbd_dc_top_predictor_4x4_sse2(uint16_t* dst,
3948                                           ptrdiff_t stride,
3949                                           const uint16_t* above,
3950                                           const uint16_t* left,
3951                                           int bd);
3952 #define vpx_highbd_dc_top_predictor_4x4 vpx_highbd_dc_top_predictor_4x4_sse2
3953 
3954 void vpx_highbd_dc_top_predictor_8x8_c(uint16_t* dst,
3955                                        ptrdiff_t stride,
3956                                        const uint16_t* above,
3957                                        const uint16_t* left,
3958                                        int bd);
3959 void vpx_highbd_dc_top_predictor_8x8_sse2(uint16_t* dst,
3960                                           ptrdiff_t stride,
3961                                           const uint16_t* above,
3962                                           const uint16_t* left,
3963                                           int bd);
3964 #define vpx_highbd_dc_top_predictor_8x8 vpx_highbd_dc_top_predictor_8x8_sse2
3965 
3966 void vpx_highbd_fdct16x16_c(const int16_t* input,
3967                             tran_low_t* output,
3968                             int stride);
3969 void vpx_highbd_fdct16x16_sse2(const int16_t* input,
3970                                tran_low_t* output,
3971                                int stride);
3972 #define vpx_highbd_fdct16x16 vpx_highbd_fdct16x16_sse2
3973 
3974 void vpx_highbd_fdct16x16_1_c(const int16_t* input,
3975                               tran_low_t* output,
3976                               int stride);
3977 #define vpx_highbd_fdct16x16_1 vpx_highbd_fdct16x16_1_c
3978 
3979 void vpx_highbd_fdct32x32_c(const int16_t* input,
3980                             tran_low_t* output,
3981                             int stride);
3982 void vpx_highbd_fdct32x32_sse2(const int16_t* input,
3983                                tran_low_t* output,
3984                                int stride);
3985 #define vpx_highbd_fdct32x32 vpx_highbd_fdct32x32_sse2
3986 
3987 void vpx_highbd_fdct32x32_1_c(const int16_t* input,
3988                               tran_low_t* output,
3989                               int stride);
3990 #define vpx_highbd_fdct32x32_1 vpx_highbd_fdct32x32_1_c
3991 
3992 void vpx_highbd_fdct32x32_rd_c(const int16_t* input,
3993                                tran_low_t* output,
3994                                int stride);
3995 void vpx_highbd_fdct32x32_rd_sse2(const int16_t* input,
3996                                   tran_low_t* output,
3997                                   int stride);
3998 #define vpx_highbd_fdct32x32_rd vpx_highbd_fdct32x32_rd_sse2
3999 
4000 void vpx_highbd_fdct4x4_c(const int16_t* input, tran_low_t* output, int stride);
4001 void vpx_highbd_fdct4x4_sse2(const int16_t* input,
4002                              tran_low_t* output,
4003                              int stride);
4004 #define vpx_highbd_fdct4x4 vpx_highbd_fdct4x4_sse2
4005 
4006 void vpx_highbd_fdct8x8_c(const int16_t* input, tran_low_t* output, int stride);
4007 void vpx_highbd_fdct8x8_sse2(const int16_t* input,
4008                              tran_low_t* output,
4009                              int stride);
4010 #define vpx_highbd_fdct8x8 vpx_highbd_fdct8x8_sse2
4011 
4012 void vpx_highbd_fdct8x8_1_c(const int16_t* input,
4013                             tran_low_t* output,
4014                             int stride);
4015 #define vpx_highbd_fdct8x8_1 vpx_highbd_fdct8x8_1_c
4016 
4017 void vpx_highbd_h_predictor_16x16_c(uint16_t* dst,
4018                                     ptrdiff_t stride,
4019                                     const uint16_t* above,
4020                                     const uint16_t* left,
4021                                     int bd);
4022 void vpx_highbd_h_predictor_16x16_sse2(uint16_t* dst,
4023                                        ptrdiff_t stride,
4024                                        const uint16_t* above,
4025                                        const uint16_t* left,
4026                                        int bd);
4027 #define vpx_highbd_h_predictor_16x16 vpx_highbd_h_predictor_16x16_sse2
4028 
4029 void vpx_highbd_h_predictor_32x32_c(uint16_t* dst,
4030                                     ptrdiff_t stride,
4031                                     const uint16_t* above,
4032                                     const uint16_t* left,
4033                                     int bd);
4034 void vpx_highbd_h_predictor_32x32_sse2(uint16_t* dst,
4035                                        ptrdiff_t stride,
4036                                        const uint16_t* above,
4037                                        const uint16_t* left,
4038                                        int bd);
4039 #define vpx_highbd_h_predictor_32x32 vpx_highbd_h_predictor_32x32_sse2
4040 
4041 void vpx_highbd_h_predictor_4x4_c(uint16_t* dst,
4042                                   ptrdiff_t stride,
4043                                   const uint16_t* above,
4044                                   const uint16_t* left,
4045                                   int bd);
4046 void vpx_highbd_h_predictor_4x4_sse2(uint16_t* dst,
4047                                      ptrdiff_t stride,
4048                                      const uint16_t* above,
4049                                      const uint16_t* left,
4050                                      int bd);
4051 #define vpx_highbd_h_predictor_4x4 vpx_highbd_h_predictor_4x4_sse2
4052 
4053 void vpx_highbd_h_predictor_8x8_c(uint16_t* dst,
4054                                   ptrdiff_t stride,
4055                                   const uint16_t* above,
4056                                   const uint16_t* left,
4057                                   int bd);
4058 void vpx_highbd_h_predictor_8x8_sse2(uint16_t* dst,
4059                                      ptrdiff_t stride,
4060                                      const uint16_t* above,
4061                                      const uint16_t* left,
4062                                      int bd);
4063 #define vpx_highbd_h_predictor_8x8 vpx_highbd_h_predictor_8x8_sse2
4064 
4065 void vpx_highbd_hadamard_16x16_c(const int16_t* src_diff,
4066                                  ptrdiff_t src_stride,
4067                                  tran_low_t* coeff);
4068 void vpx_highbd_hadamard_16x16_avx2(const int16_t* src_diff,
4069                                     ptrdiff_t src_stride,
4070                                     tran_low_t* coeff);
4071 RTCD_EXTERN void (*vpx_highbd_hadamard_16x16)(const int16_t* src_diff,
4072                                               ptrdiff_t src_stride,
4073                                               tran_low_t* coeff);
4074 
4075 void vpx_highbd_hadamard_32x32_c(const int16_t* src_diff,
4076                                  ptrdiff_t src_stride,
4077                                  tran_low_t* coeff);
4078 void vpx_highbd_hadamard_32x32_avx2(const int16_t* src_diff,
4079                                     ptrdiff_t src_stride,
4080                                     tran_low_t* coeff);
4081 RTCD_EXTERN void (*vpx_highbd_hadamard_32x32)(const int16_t* src_diff,
4082                                               ptrdiff_t src_stride,
4083                                               tran_low_t* coeff);
4084 
4085 void vpx_highbd_hadamard_8x8_c(const int16_t* src_diff,
4086                                ptrdiff_t src_stride,
4087                                tran_low_t* coeff);
4088 void vpx_highbd_hadamard_8x8_avx2(const int16_t* src_diff,
4089                                   ptrdiff_t src_stride,
4090                                   tran_low_t* coeff);
4091 RTCD_EXTERN void (*vpx_highbd_hadamard_8x8)(const int16_t* src_diff,
4092                                             ptrdiff_t src_stride,
4093                                             tran_low_t* coeff);
4094 
4095 void vpx_highbd_idct16x16_10_add_c(const tran_low_t* input,
4096                                    uint16_t* dest,
4097                                    int stride,
4098                                    int bd);
4099 void vpx_highbd_idct16x16_10_add_sse2(const tran_low_t* input,
4100                                       uint16_t* dest,
4101                                       int stride,
4102                                       int bd);
4103 void vpx_highbd_idct16x16_10_add_sse4_1(const tran_low_t* input,
4104                                         uint16_t* dest,
4105                                         int stride,
4106                                         int bd);
4107 RTCD_EXTERN void (*vpx_highbd_idct16x16_10_add)(const tran_low_t* input,
4108                                                 uint16_t* dest,
4109                                                 int stride,
4110                                                 int bd);
4111 
4112 void vpx_highbd_idct16x16_1_add_c(const tran_low_t* input,
4113                                   uint16_t* dest,
4114                                   int stride,
4115                                   int bd);
4116 void vpx_highbd_idct16x16_1_add_sse2(const tran_low_t* input,
4117                                      uint16_t* dest,
4118                                      int stride,
4119                                      int bd);
4120 #define vpx_highbd_idct16x16_1_add vpx_highbd_idct16x16_1_add_sse2
4121 
4122 void vpx_highbd_idct16x16_256_add_c(const tran_low_t* input,
4123                                     uint16_t* dest,
4124                                     int stride,
4125                                     int bd);
4126 void vpx_highbd_idct16x16_256_add_sse2(const tran_low_t* input,
4127                                        uint16_t* dest,
4128                                        int stride,
4129                                        int bd);
4130 void vpx_highbd_idct16x16_256_add_sse4_1(const tran_low_t* input,
4131                                          uint16_t* dest,
4132                                          int stride,
4133                                          int bd);
4134 RTCD_EXTERN void (*vpx_highbd_idct16x16_256_add)(const tran_low_t* input,
4135                                                  uint16_t* dest,
4136                                                  int stride,
4137                                                  int bd);
4138 
4139 void vpx_highbd_idct16x16_38_add_c(const tran_low_t* input,
4140                                    uint16_t* dest,
4141                                    int stride,
4142                                    int bd);
4143 void vpx_highbd_idct16x16_38_add_sse2(const tran_low_t* input,
4144                                       uint16_t* dest,
4145                                       int stride,
4146                                       int bd);
4147 void vpx_highbd_idct16x16_38_add_sse4_1(const tran_low_t* input,
4148                                         uint16_t* dest,
4149                                         int stride,
4150                                         int bd);
4151 RTCD_EXTERN void (*vpx_highbd_idct16x16_38_add)(const tran_low_t* input,
4152                                                 uint16_t* dest,
4153                                                 int stride,
4154                                                 int bd);
4155 
4156 void vpx_highbd_idct32x32_1024_add_c(const tran_low_t* input,
4157                                      uint16_t* dest,
4158                                      int stride,
4159                                      int bd);
4160 void vpx_highbd_idct32x32_1024_add_sse2(const tran_low_t* input,
4161                                         uint16_t* dest,
4162                                         int stride,
4163                                         int bd);
4164 void vpx_highbd_idct32x32_1024_add_sse4_1(const tran_low_t* input,
4165                                           uint16_t* dest,
4166                                           int stride,
4167                                           int bd);
4168 RTCD_EXTERN void (*vpx_highbd_idct32x32_1024_add)(const tran_low_t* input,
4169                                                   uint16_t* dest,
4170                                                   int stride,
4171                                                   int bd);
4172 
4173 void vpx_highbd_idct32x32_135_add_c(const tran_low_t* input,
4174                                     uint16_t* dest,
4175                                     int stride,
4176                                     int bd);
4177 void vpx_highbd_idct32x32_135_add_sse2(const tran_low_t* input,
4178                                        uint16_t* dest,
4179                                        int stride,
4180                                        int bd);
4181 void vpx_highbd_idct32x32_135_add_sse4_1(const tran_low_t* input,
4182                                          uint16_t* dest,
4183                                          int stride,
4184                                          int bd);
4185 RTCD_EXTERN void (*vpx_highbd_idct32x32_135_add)(const tran_low_t* input,
4186                                                  uint16_t* dest,
4187                                                  int stride,
4188                                                  int bd);
4189 
4190 void vpx_highbd_idct32x32_1_add_c(const tran_low_t* input,
4191                                   uint16_t* dest,
4192                                   int stride,
4193                                   int bd);
4194 void vpx_highbd_idct32x32_1_add_sse2(const tran_low_t* input,
4195                                      uint16_t* dest,
4196                                      int stride,
4197                                      int bd);
4198 #define vpx_highbd_idct32x32_1_add vpx_highbd_idct32x32_1_add_sse2
4199 
4200 void vpx_highbd_idct32x32_34_add_c(const tran_low_t* input,
4201                                    uint16_t* dest,
4202                                    int stride,
4203                                    int bd);
4204 void vpx_highbd_idct32x32_34_add_sse2(const tran_low_t* input,
4205                                       uint16_t* dest,
4206                                       int stride,
4207                                       int bd);
4208 void vpx_highbd_idct32x32_34_add_sse4_1(const tran_low_t* input,
4209                                         uint16_t* dest,
4210                                         int stride,
4211                                         int bd);
4212 RTCD_EXTERN void (*vpx_highbd_idct32x32_34_add)(const tran_low_t* input,
4213                                                 uint16_t* dest,
4214                                                 int stride,
4215                                                 int bd);
4216 
4217 void vpx_highbd_idct4x4_16_add_c(const tran_low_t* input,
4218                                  uint16_t* dest,
4219                                  int stride,
4220                                  int bd);
4221 void vpx_highbd_idct4x4_16_add_sse2(const tran_low_t* input,
4222                                     uint16_t* dest,
4223                                     int stride,
4224                                     int bd);
4225 void vpx_highbd_idct4x4_16_add_sse4_1(const tran_low_t* input,
4226                                       uint16_t* dest,
4227                                       int stride,
4228                                       int bd);
4229 RTCD_EXTERN void (*vpx_highbd_idct4x4_16_add)(const tran_low_t* input,
4230                                               uint16_t* dest,
4231                                               int stride,
4232                                               int bd);
4233 
4234 void vpx_highbd_idct4x4_1_add_c(const tran_low_t* input,
4235                                 uint16_t* dest,
4236                                 int stride,
4237                                 int bd);
4238 void vpx_highbd_idct4x4_1_add_sse2(const tran_low_t* input,
4239                                    uint16_t* dest,
4240                                    int stride,
4241                                    int bd);
4242 #define vpx_highbd_idct4x4_1_add vpx_highbd_idct4x4_1_add_sse2
4243 
4244 void vpx_highbd_idct8x8_12_add_c(const tran_low_t* input,
4245                                  uint16_t* dest,
4246                                  int stride,
4247                                  int bd);
4248 void vpx_highbd_idct8x8_12_add_sse2(const tran_low_t* input,
4249                                     uint16_t* dest,
4250                                     int stride,
4251                                     int bd);
4252 void vpx_highbd_idct8x8_12_add_sse4_1(const tran_low_t* input,
4253                                       uint16_t* dest,
4254                                       int stride,
4255                                       int bd);
4256 RTCD_EXTERN void (*vpx_highbd_idct8x8_12_add)(const tran_low_t* input,
4257                                               uint16_t* dest,
4258                                               int stride,
4259                                               int bd);
4260 
4261 void vpx_highbd_idct8x8_1_add_c(const tran_low_t* input,
4262                                 uint16_t* dest,
4263                                 int stride,
4264                                 int bd);
4265 void vpx_highbd_idct8x8_1_add_sse2(const tran_low_t* input,
4266                                    uint16_t* dest,
4267                                    int stride,
4268                                    int bd);
4269 #define vpx_highbd_idct8x8_1_add vpx_highbd_idct8x8_1_add_sse2
4270 
4271 void vpx_highbd_idct8x8_64_add_c(const tran_low_t* input,
4272                                  uint16_t* dest,
4273                                  int stride,
4274                                  int bd);
4275 void vpx_highbd_idct8x8_64_add_sse2(const tran_low_t* input,
4276                                     uint16_t* dest,
4277                                     int stride,
4278                                     int bd);
4279 void vpx_highbd_idct8x8_64_add_sse4_1(const tran_low_t* input,
4280                                       uint16_t* dest,
4281                                       int stride,
4282                                       int bd);
4283 RTCD_EXTERN void (*vpx_highbd_idct8x8_64_add)(const tran_low_t* input,
4284                                               uint16_t* dest,
4285                                               int stride,
4286                                               int bd);
4287 
4288 void vpx_highbd_iwht4x4_16_add_c(const tran_low_t* input,
4289                                  uint16_t* dest,
4290                                  int stride,
4291                                  int bd);
4292 #define vpx_highbd_iwht4x4_16_add vpx_highbd_iwht4x4_16_add_c
4293 
4294 void vpx_highbd_iwht4x4_1_add_c(const tran_low_t* input,
4295                                 uint16_t* dest,
4296                                 int stride,
4297                                 int bd);
4298 #define vpx_highbd_iwht4x4_1_add vpx_highbd_iwht4x4_1_add_c
4299 
4300 void vpx_highbd_lpf_horizontal_16_c(uint16_t* s,
4301                                     int pitch,
4302                                     const uint8_t* blimit,
4303                                     const uint8_t* limit,
4304                                     const uint8_t* thresh,
4305                                     int bd);
4306 void vpx_highbd_lpf_horizontal_16_sse2(uint16_t* s,
4307                                        int pitch,
4308                                        const uint8_t* blimit,
4309                                        const uint8_t* limit,
4310                                        const uint8_t* thresh,
4311                                        int bd);
4312 #define vpx_highbd_lpf_horizontal_16 vpx_highbd_lpf_horizontal_16_sse2
4313 
4314 void vpx_highbd_lpf_horizontal_16_dual_c(uint16_t* s,
4315                                          int pitch,
4316                                          const uint8_t* blimit,
4317                                          const uint8_t* limit,
4318                                          const uint8_t* thresh,
4319                                          int bd);
4320 void vpx_highbd_lpf_horizontal_16_dual_sse2(uint16_t* s,
4321                                             int pitch,
4322                                             const uint8_t* blimit,
4323                                             const uint8_t* limit,
4324                                             const uint8_t* thresh,
4325                                             int bd);
4326 #define vpx_highbd_lpf_horizontal_16_dual vpx_highbd_lpf_horizontal_16_dual_sse2
4327 
4328 void vpx_highbd_lpf_horizontal_4_c(uint16_t* s,
4329                                    int pitch,
4330                                    const uint8_t* blimit,
4331                                    const uint8_t* limit,
4332                                    const uint8_t* thresh,
4333                                    int bd);
4334 void vpx_highbd_lpf_horizontal_4_sse2(uint16_t* s,
4335                                       int pitch,
4336                                       const uint8_t* blimit,
4337                                       const uint8_t* limit,
4338                                       const uint8_t* thresh,
4339                                       int bd);
4340 #define vpx_highbd_lpf_horizontal_4 vpx_highbd_lpf_horizontal_4_sse2
4341 
4342 void vpx_highbd_lpf_horizontal_4_dual_c(uint16_t* s,
4343                                         int pitch,
4344                                         const uint8_t* blimit0,
4345                                         const uint8_t* limit0,
4346                                         const uint8_t* thresh0,
4347                                         const uint8_t* blimit1,
4348                                         const uint8_t* limit1,
4349                                         const uint8_t* thresh1,
4350                                         int bd);
4351 void vpx_highbd_lpf_horizontal_4_dual_sse2(uint16_t* s,
4352                                            int pitch,
4353                                            const uint8_t* blimit0,
4354                                            const uint8_t* limit0,
4355                                            const uint8_t* thresh0,
4356                                            const uint8_t* blimit1,
4357                                            const uint8_t* limit1,
4358                                            const uint8_t* thresh1,
4359                                            int bd);
4360 #define vpx_highbd_lpf_horizontal_4_dual vpx_highbd_lpf_horizontal_4_dual_sse2
4361 
4362 void vpx_highbd_lpf_horizontal_8_c(uint16_t* s,
4363                                    int pitch,
4364                                    const uint8_t* blimit,
4365                                    const uint8_t* limit,
4366                                    const uint8_t* thresh,
4367                                    int bd);
4368 void vpx_highbd_lpf_horizontal_8_sse2(uint16_t* s,
4369                                       int pitch,
4370                                       const uint8_t* blimit,
4371                                       const uint8_t* limit,
4372                                       const uint8_t* thresh,
4373                                       int bd);
4374 #define vpx_highbd_lpf_horizontal_8 vpx_highbd_lpf_horizontal_8_sse2
4375 
4376 void vpx_highbd_lpf_horizontal_8_dual_c(uint16_t* s,
4377                                         int pitch,
4378                                         const uint8_t* blimit0,
4379                                         const uint8_t* limit0,
4380                                         const uint8_t* thresh0,
4381                                         const uint8_t* blimit1,
4382                                         const uint8_t* limit1,
4383                                         const uint8_t* thresh1,
4384                                         int bd);
4385 void vpx_highbd_lpf_horizontal_8_dual_sse2(uint16_t* s,
4386                                            int pitch,
4387                                            const uint8_t* blimit0,
4388                                            const uint8_t* limit0,
4389                                            const uint8_t* thresh0,
4390                                            const uint8_t* blimit1,
4391                                            const uint8_t* limit1,
4392                                            const uint8_t* thresh1,
4393                                            int bd);
4394 #define vpx_highbd_lpf_horizontal_8_dual vpx_highbd_lpf_horizontal_8_dual_sse2
4395 
4396 void vpx_highbd_lpf_vertical_16_c(uint16_t* s,
4397                                   int pitch,
4398                                   const uint8_t* blimit,
4399                                   const uint8_t* limit,
4400                                   const uint8_t* thresh,
4401                                   int bd);
4402 void vpx_highbd_lpf_vertical_16_sse2(uint16_t* s,
4403                                      int pitch,
4404                                      const uint8_t* blimit,
4405                                      const uint8_t* limit,
4406                                      const uint8_t* thresh,
4407                                      int bd);
4408 #define vpx_highbd_lpf_vertical_16 vpx_highbd_lpf_vertical_16_sse2
4409 
4410 void vpx_highbd_lpf_vertical_16_dual_c(uint16_t* s,
4411                                        int pitch,
4412                                        const uint8_t* blimit,
4413                                        const uint8_t* limit,
4414                                        const uint8_t* thresh,
4415                                        int bd);
4416 void vpx_highbd_lpf_vertical_16_dual_sse2(uint16_t* s,
4417                                           int pitch,
4418                                           const uint8_t* blimit,
4419                                           const uint8_t* limit,
4420                                           const uint8_t* thresh,
4421                                           int bd);
4422 #define vpx_highbd_lpf_vertical_16_dual vpx_highbd_lpf_vertical_16_dual_sse2
4423 
4424 void vpx_highbd_lpf_vertical_4_c(uint16_t* s,
4425                                  int pitch,
4426                                  const uint8_t* blimit,
4427                                  const uint8_t* limit,
4428                                  const uint8_t* thresh,
4429                                  int bd);
4430 void vpx_highbd_lpf_vertical_4_sse2(uint16_t* s,
4431                                     int pitch,
4432                                     const uint8_t* blimit,
4433                                     const uint8_t* limit,
4434                                     const uint8_t* thresh,
4435                                     int bd);
4436 #define vpx_highbd_lpf_vertical_4 vpx_highbd_lpf_vertical_4_sse2
4437 
4438 void vpx_highbd_lpf_vertical_4_dual_c(uint16_t* s,
4439                                       int pitch,
4440                                       const uint8_t* blimit0,
4441                                       const uint8_t* limit0,
4442                                       const uint8_t* thresh0,
4443                                       const uint8_t* blimit1,
4444                                       const uint8_t* limit1,
4445                                       const uint8_t* thresh1,
4446                                       int bd);
4447 void vpx_highbd_lpf_vertical_4_dual_sse2(uint16_t* s,
4448                                          int pitch,
4449                                          const uint8_t* blimit0,
4450                                          const uint8_t* limit0,
4451                                          const uint8_t* thresh0,
4452                                          const uint8_t* blimit1,
4453                                          const uint8_t* limit1,
4454                                          const uint8_t* thresh1,
4455                                          int bd);
4456 #define vpx_highbd_lpf_vertical_4_dual vpx_highbd_lpf_vertical_4_dual_sse2
4457 
4458 void vpx_highbd_lpf_vertical_8_c(uint16_t* s,
4459                                  int pitch,
4460                                  const uint8_t* blimit,
4461                                  const uint8_t* limit,
4462                                  const uint8_t* thresh,
4463                                  int bd);
4464 void vpx_highbd_lpf_vertical_8_sse2(uint16_t* s,
4465                                     int pitch,
4466                                     const uint8_t* blimit,
4467                                     const uint8_t* limit,
4468                                     const uint8_t* thresh,
4469                                     int bd);
4470 #define vpx_highbd_lpf_vertical_8 vpx_highbd_lpf_vertical_8_sse2
4471 
4472 void vpx_highbd_lpf_vertical_8_dual_c(uint16_t* s,
4473                                       int pitch,
4474                                       const uint8_t* blimit0,
4475                                       const uint8_t* limit0,
4476                                       const uint8_t* thresh0,
4477                                       const uint8_t* blimit1,
4478                                       const uint8_t* limit1,
4479                                       const uint8_t* thresh1,
4480                                       int bd);
4481 void vpx_highbd_lpf_vertical_8_dual_sse2(uint16_t* s,
4482                                          int pitch,
4483                                          const uint8_t* blimit0,
4484                                          const uint8_t* limit0,
4485                                          const uint8_t* thresh0,
4486                                          const uint8_t* blimit1,
4487                                          const uint8_t* limit1,
4488                                          const uint8_t* thresh1,
4489                                          int bd);
4490 #define vpx_highbd_lpf_vertical_8_dual vpx_highbd_lpf_vertical_8_dual_sse2
4491 
4492 void vpx_highbd_minmax_8x8_c(const uint8_t* s8,
4493                              int p,
4494                              const uint8_t* d8,
4495                              int dp,
4496                              int* min,
4497                              int* max);
4498 #define vpx_highbd_minmax_8x8 vpx_highbd_minmax_8x8_c
4499 
4500 void vpx_highbd_quantize_b_c(const tran_low_t* coeff_ptr,
4501                              intptr_t n_coeffs,
4502                              int skip_block,
4503                              const int16_t* zbin_ptr,
4504                              const int16_t* round_ptr,
4505                              const int16_t* quant_ptr,
4506                              const int16_t* quant_shift_ptr,
4507                              tran_low_t* qcoeff_ptr,
4508                              tran_low_t* dqcoeff_ptr,
4509                              const int16_t* dequant_ptr,
4510                              uint16_t* eob_ptr,
4511                              const int16_t* scan,
4512                              const int16_t* iscan);
4513 void vpx_highbd_quantize_b_sse2(const tran_low_t* coeff_ptr,
4514                                 intptr_t n_coeffs,
4515                                 int skip_block,
4516                                 const int16_t* zbin_ptr,
4517                                 const int16_t* round_ptr,
4518                                 const int16_t* quant_ptr,
4519                                 const int16_t* quant_shift_ptr,
4520                                 tran_low_t* qcoeff_ptr,
4521                                 tran_low_t* dqcoeff_ptr,
4522                                 const int16_t* dequant_ptr,
4523                                 uint16_t* eob_ptr,
4524                                 const int16_t* scan,
4525                                 const int16_t* iscan);
4526 #define vpx_highbd_quantize_b vpx_highbd_quantize_b_sse2
4527 
4528 void vpx_highbd_quantize_b_32x32_c(const tran_low_t* coeff_ptr,
4529                                    intptr_t n_coeffs,
4530                                    int skip_block,
4531                                    const int16_t* zbin_ptr,
4532                                    const int16_t* round_ptr,
4533                                    const int16_t* quant_ptr,
4534                                    const int16_t* quant_shift_ptr,
4535                                    tran_low_t* qcoeff_ptr,
4536                                    tran_low_t* dqcoeff_ptr,
4537                                    const int16_t* dequant_ptr,
4538                                    uint16_t* eob_ptr,
4539                                    const int16_t* scan,
4540                                    const int16_t* iscan);
4541 void vpx_highbd_quantize_b_32x32_sse2(const tran_low_t* coeff_ptr,
4542                                       intptr_t n_coeffs,
4543                                       int skip_block,
4544                                       const int16_t* zbin_ptr,
4545                                       const int16_t* round_ptr,
4546                                       const int16_t* quant_ptr,
4547                                       const int16_t* quant_shift_ptr,
4548                                       tran_low_t* qcoeff_ptr,
4549                                       tran_low_t* dqcoeff_ptr,
4550                                       const int16_t* dequant_ptr,
4551                                       uint16_t* eob_ptr,
4552                                       const int16_t* scan,
4553                                       const int16_t* iscan);
4554 #define vpx_highbd_quantize_b_32x32 vpx_highbd_quantize_b_32x32_sse2
4555 
4556 unsigned int vpx_highbd_sad16x16_c(const uint8_t* src_ptr,
4557                                    int src_stride,
4558                                    const uint8_t* ref_ptr,
4559                                    int ref_stride);
4560 unsigned int vpx_highbd_sad16x16_sse2(const uint8_t* src_ptr,
4561                                       int src_stride,
4562                                       const uint8_t* ref_ptr,
4563                                       int ref_stride);
4564 #define vpx_highbd_sad16x16 vpx_highbd_sad16x16_sse2
4565 
4566 unsigned int vpx_highbd_sad16x16_avg_c(const uint8_t* src_ptr,
4567                                        int src_stride,
4568                                        const uint8_t* ref_ptr,
4569                                        int ref_stride,
4570                                        const uint8_t* second_pred);
4571 unsigned int vpx_highbd_sad16x16_avg_sse2(const uint8_t* src_ptr,
4572                                           int src_stride,
4573                                           const uint8_t* ref_ptr,
4574                                           int ref_stride,
4575                                           const uint8_t* second_pred);
4576 #define vpx_highbd_sad16x16_avg vpx_highbd_sad16x16_avg_sse2
4577 
4578 void vpx_highbd_sad16x16x4d_c(const uint8_t* src_ptr,
4579                               int src_stride,
4580                               const uint8_t* const ref_array[],
4581                               int ref_stride,
4582                               uint32_t* sad_array);
4583 void vpx_highbd_sad16x16x4d_sse2(const uint8_t* src_ptr,
4584                                  int src_stride,
4585                                  const uint8_t* const ref_array[],
4586                                  int ref_stride,
4587                                  uint32_t* sad_array);
4588 #define vpx_highbd_sad16x16x4d vpx_highbd_sad16x16x4d_sse2
4589 
4590 unsigned int vpx_highbd_sad16x32_c(const uint8_t* src_ptr,
4591                                    int src_stride,
4592                                    const uint8_t* ref_ptr,
4593                                    int ref_stride);
4594 unsigned int vpx_highbd_sad16x32_sse2(const uint8_t* src_ptr,
4595                                       int src_stride,
4596                                       const uint8_t* ref_ptr,
4597                                       int ref_stride);
4598 #define vpx_highbd_sad16x32 vpx_highbd_sad16x32_sse2
4599 
4600 unsigned int vpx_highbd_sad16x32_avg_c(const uint8_t* src_ptr,
4601                                        int src_stride,
4602                                        const uint8_t* ref_ptr,
4603                                        int ref_stride,
4604                                        const uint8_t* second_pred);
4605 unsigned int vpx_highbd_sad16x32_avg_sse2(const uint8_t* src_ptr,
4606                                           int src_stride,
4607                                           const uint8_t* ref_ptr,
4608                                           int ref_stride,
4609                                           const uint8_t* second_pred);
4610 #define vpx_highbd_sad16x32_avg vpx_highbd_sad16x32_avg_sse2
4611 
4612 void vpx_highbd_sad16x32x4d_c(const uint8_t* src_ptr,
4613                               int src_stride,
4614                               const uint8_t* const ref_array[],
4615                               int ref_stride,
4616                               uint32_t* sad_array);
4617 void vpx_highbd_sad16x32x4d_sse2(const uint8_t* src_ptr,
4618                                  int src_stride,
4619                                  const uint8_t* const ref_array[],
4620                                  int ref_stride,
4621                                  uint32_t* sad_array);
4622 #define vpx_highbd_sad16x32x4d vpx_highbd_sad16x32x4d_sse2
4623 
4624 unsigned int vpx_highbd_sad16x8_c(const uint8_t* src_ptr,
4625                                   int src_stride,
4626                                   const uint8_t* ref_ptr,
4627                                   int ref_stride);
4628 unsigned int vpx_highbd_sad16x8_sse2(const uint8_t* src_ptr,
4629                                      int src_stride,
4630                                      const uint8_t* ref_ptr,
4631                                      int ref_stride);
4632 #define vpx_highbd_sad16x8 vpx_highbd_sad16x8_sse2
4633 
4634 unsigned int vpx_highbd_sad16x8_avg_c(const uint8_t* src_ptr,
4635                                       int src_stride,
4636                                       const uint8_t* ref_ptr,
4637                                       int ref_stride,
4638                                       const uint8_t* second_pred);
4639 unsigned int vpx_highbd_sad16x8_avg_sse2(const uint8_t* src_ptr,
4640                                          int src_stride,
4641                                          const uint8_t* ref_ptr,
4642                                          int ref_stride,
4643                                          const uint8_t* second_pred);
4644 #define vpx_highbd_sad16x8_avg vpx_highbd_sad16x8_avg_sse2
4645 
4646 void vpx_highbd_sad16x8x4d_c(const uint8_t* src_ptr,
4647                              int src_stride,
4648                              const uint8_t* const ref_array[],
4649                              int ref_stride,
4650                              uint32_t* sad_array);
4651 void vpx_highbd_sad16x8x4d_sse2(const uint8_t* src_ptr,
4652                                 int src_stride,
4653                                 const uint8_t* const ref_array[],
4654                                 int ref_stride,
4655                                 uint32_t* sad_array);
4656 #define vpx_highbd_sad16x8x4d vpx_highbd_sad16x8x4d_sse2
4657 
4658 unsigned int vpx_highbd_sad32x16_c(const uint8_t* src_ptr,
4659                                    int src_stride,
4660                                    const uint8_t* ref_ptr,
4661                                    int ref_stride);
4662 unsigned int vpx_highbd_sad32x16_sse2(const uint8_t* src_ptr,
4663                                       int src_stride,
4664                                       const uint8_t* ref_ptr,
4665                                       int ref_stride);
4666 #define vpx_highbd_sad32x16 vpx_highbd_sad32x16_sse2
4667 
4668 unsigned int vpx_highbd_sad32x16_avg_c(const uint8_t* src_ptr,
4669                                        int src_stride,
4670                                        const uint8_t* ref_ptr,
4671                                        int ref_stride,
4672                                        const uint8_t* second_pred);
4673 unsigned int vpx_highbd_sad32x16_avg_sse2(const uint8_t* src_ptr,
4674                                           int src_stride,
4675                                           const uint8_t* ref_ptr,
4676                                           int ref_stride,
4677                                           const uint8_t* second_pred);
4678 #define vpx_highbd_sad32x16_avg vpx_highbd_sad32x16_avg_sse2
4679 
4680 void vpx_highbd_sad32x16x4d_c(const uint8_t* src_ptr,
4681                               int src_stride,
4682                               const uint8_t* const ref_array[],
4683                               int ref_stride,
4684                               uint32_t* sad_array);
4685 void vpx_highbd_sad32x16x4d_sse2(const uint8_t* src_ptr,
4686                                  int src_stride,
4687                                  const uint8_t* const ref_array[],
4688                                  int ref_stride,
4689                                  uint32_t* sad_array);
4690 #define vpx_highbd_sad32x16x4d vpx_highbd_sad32x16x4d_sse2
4691 
4692 unsigned int vpx_highbd_sad32x32_c(const uint8_t* src_ptr,
4693                                    int src_stride,
4694                                    const uint8_t* ref_ptr,
4695                                    int ref_stride);
4696 unsigned int vpx_highbd_sad32x32_sse2(const uint8_t* src_ptr,
4697                                       int src_stride,
4698                                       const uint8_t* ref_ptr,
4699                                       int ref_stride);
4700 #define vpx_highbd_sad32x32 vpx_highbd_sad32x32_sse2
4701 
4702 unsigned int vpx_highbd_sad32x32_avg_c(const uint8_t* src_ptr,
4703                                        int src_stride,
4704                                        const uint8_t* ref_ptr,
4705                                        int ref_stride,
4706                                        const uint8_t* second_pred);
4707 unsigned int vpx_highbd_sad32x32_avg_sse2(const uint8_t* src_ptr,
4708                                           int src_stride,
4709                                           const uint8_t* ref_ptr,
4710                                           int ref_stride,
4711                                           const uint8_t* second_pred);
4712 #define vpx_highbd_sad32x32_avg vpx_highbd_sad32x32_avg_sse2
4713 
4714 void vpx_highbd_sad32x32x4d_c(const uint8_t* src_ptr,
4715                               int src_stride,
4716                               const uint8_t* const ref_array[],
4717                               int ref_stride,
4718                               uint32_t* sad_array);
4719 void vpx_highbd_sad32x32x4d_sse2(const uint8_t* src_ptr,
4720                                  int src_stride,
4721                                  const uint8_t* const ref_array[],
4722                                  int ref_stride,
4723                                  uint32_t* sad_array);
4724 #define vpx_highbd_sad32x32x4d vpx_highbd_sad32x32x4d_sse2
4725 
4726 unsigned int vpx_highbd_sad32x64_c(const uint8_t* src_ptr,
4727                                    int src_stride,
4728                                    const uint8_t* ref_ptr,
4729                                    int ref_stride);
4730 unsigned int vpx_highbd_sad32x64_sse2(const uint8_t* src_ptr,
4731                                       int src_stride,
4732                                       const uint8_t* ref_ptr,
4733                                       int ref_stride);
4734 #define vpx_highbd_sad32x64 vpx_highbd_sad32x64_sse2
4735 
4736 unsigned int vpx_highbd_sad32x64_avg_c(const uint8_t* src_ptr,
4737                                        int src_stride,
4738                                        const uint8_t* ref_ptr,
4739                                        int ref_stride,
4740                                        const uint8_t* second_pred);
4741 unsigned int vpx_highbd_sad32x64_avg_sse2(const uint8_t* src_ptr,
4742                                           int src_stride,
4743                                           const uint8_t* ref_ptr,
4744                                           int ref_stride,
4745                                           const uint8_t* second_pred);
4746 #define vpx_highbd_sad32x64_avg vpx_highbd_sad32x64_avg_sse2
4747 
4748 void vpx_highbd_sad32x64x4d_c(const uint8_t* src_ptr,
4749                               int src_stride,
4750                               const uint8_t* const ref_array[],
4751                               int ref_stride,
4752                               uint32_t* sad_array);
4753 void vpx_highbd_sad32x64x4d_sse2(const uint8_t* src_ptr,
4754                                  int src_stride,
4755                                  const uint8_t* const ref_array[],
4756                                  int ref_stride,
4757                                  uint32_t* sad_array);
4758 #define vpx_highbd_sad32x64x4d vpx_highbd_sad32x64x4d_sse2
4759 
4760 unsigned int vpx_highbd_sad4x4_c(const uint8_t* src_ptr,
4761                                  int src_stride,
4762                                  const uint8_t* ref_ptr,
4763                                  int ref_stride);
4764 #define vpx_highbd_sad4x4 vpx_highbd_sad4x4_c
4765 
4766 unsigned int vpx_highbd_sad4x4_avg_c(const uint8_t* src_ptr,
4767                                      int src_stride,
4768                                      const uint8_t* ref_ptr,
4769                                      int ref_stride,
4770                                      const uint8_t* second_pred);
4771 #define vpx_highbd_sad4x4_avg vpx_highbd_sad4x4_avg_c
4772 
4773 void vpx_highbd_sad4x4x4d_c(const uint8_t* src_ptr,
4774                             int src_stride,
4775                             const uint8_t* const ref_array[],
4776                             int ref_stride,
4777                             uint32_t* sad_array);
4778 void vpx_highbd_sad4x4x4d_sse2(const uint8_t* src_ptr,
4779                                int src_stride,
4780                                const uint8_t* const ref_array[],
4781                                int ref_stride,
4782                                uint32_t* sad_array);
4783 #define vpx_highbd_sad4x4x4d vpx_highbd_sad4x4x4d_sse2
4784 
4785 unsigned int vpx_highbd_sad4x8_c(const uint8_t* src_ptr,
4786                                  int src_stride,
4787                                  const uint8_t* ref_ptr,
4788                                  int ref_stride);
4789 #define vpx_highbd_sad4x8 vpx_highbd_sad4x8_c
4790 
4791 unsigned int vpx_highbd_sad4x8_avg_c(const uint8_t* src_ptr,
4792                                      int src_stride,
4793                                      const uint8_t* ref_ptr,
4794                                      int ref_stride,
4795                                      const uint8_t* second_pred);
4796 #define vpx_highbd_sad4x8_avg vpx_highbd_sad4x8_avg_c
4797 
4798 void vpx_highbd_sad4x8x4d_c(const uint8_t* src_ptr,
4799                             int src_stride,
4800                             const uint8_t* const ref_array[],
4801                             int ref_stride,
4802                             uint32_t* sad_array);
4803 void vpx_highbd_sad4x8x4d_sse2(const uint8_t* src_ptr,
4804                                int src_stride,
4805                                const uint8_t* const ref_array[],
4806                                int ref_stride,
4807                                uint32_t* sad_array);
4808 #define vpx_highbd_sad4x8x4d vpx_highbd_sad4x8x4d_sse2
4809 
4810 unsigned int vpx_highbd_sad64x32_c(const uint8_t* src_ptr,
4811                                    int src_stride,
4812                                    const uint8_t* ref_ptr,
4813                                    int ref_stride);
4814 unsigned int vpx_highbd_sad64x32_sse2(const uint8_t* src_ptr,
4815                                       int src_stride,
4816                                       const uint8_t* ref_ptr,
4817                                       int ref_stride);
4818 #define vpx_highbd_sad64x32 vpx_highbd_sad64x32_sse2
4819 
4820 unsigned int vpx_highbd_sad64x32_avg_c(const uint8_t* src_ptr,
4821                                        int src_stride,
4822                                        const uint8_t* ref_ptr,
4823                                        int ref_stride,
4824                                        const uint8_t* second_pred);
4825 unsigned int vpx_highbd_sad64x32_avg_sse2(const uint8_t* src_ptr,
4826                                           int src_stride,
4827                                           const uint8_t* ref_ptr,
4828                                           int ref_stride,
4829                                           const uint8_t* second_pred);
4830 #define vpx_highbd_sad64x32_avg vpx_highbd_sad64x32_avg_sse2
4831 
4832 void vpx_highbd_sad64x32x4d_c(const uint8_t* src_ptr,
4833                               int src_stride,
4834                               const uint8_t* const ref_array[],
4835                               int ref_stride,
4836                               uint32_t* sad_array);
4837 void vpx_highbd_sad64x32x4d_sse2(const uint8_t* src_ptr,
4838                                  int src_stride,
4839                                  const uint8_t* const ref_array[],
4840                                  int ref_stride,
4841                                  uint32_t* sad_array);
4842 #define vpx_highbd_sad64x32x4d vpx_highbd_sad64x32x4d_sse2
4843 
4844 unsigned int vpx_highbd_sad64x64_c(const uint8_t* src_ptr,
4845                                    int src_stride,
4846                                    const uint8_t* ref_ptr,
4847                                    int ref_stride);
4848 unsigned int vpx_highbd_sad64x64_sse2(const uint8_t* src_ptr,
4849                                       int src_stride,
4850                                       const uint8_t* ref_ptr,
4851                                       int ref_stride);
4852 #define vpx_highbd_sad64x64 vpx_highbd_sad64x64_sse2
4853 
4854 unsigned int vpx_highbd_sad64x64_avg_c(const uint8_t* src_ptr,
4855                                        int src_stride,
4856                                        const uint8_t* ref_ptr,
4857                                        int ref_stride,
4858                                        const uint8_t* second_pred);
4859 unsigned int vpx_highbd_sad64x64_avg_sse2(const uint8_t* src_ptr,
4860                                           int src_stride,
4861                                           const uint8_t* ref_ptr,
4862                                           int ref_stride,
4863                                           const uint8_t* second_pred);
4864 #define vpx_highbd_sad64x64_avg vpx_highbd_sad64x64_avg_sse2
4865 
4866 void vpx_highbd_sad64x64x4d_c(const uint8_t* src_ptr,
4867                               int src_stride,
4868                               const uint8_t* const ref_array[],
4869                               int ref_stride,
4870                               uint32_t* sad_array);
4871 void vpx_highbd_sad64x64x4d_sse2(const uint8_t* src_ptr,
4872                                  int src_stride,
4873                                  const uint8_t* const ref_array[],
4874                                  int ref_stride,
4875                                  uint32_t* sad_array);
4876 #define vpx_highbd_sad64x64x4d vpx_highbd_sad64x64x4d_sse2
4877 
4878 unsigned int vpx_highbd_sad8x16_c(const uint8_t* src_ptr,
4879                                   int src_stride,
4880                                   const uint8_t* ref_ptr,
4881                                   int ref_stride);
4882 unsigned int vpx_highbd_sad8x16_sse2(const uint8_t* src_ptr,
4883                                      int src_stride,
4884                                      const uint8_t* ref_ptr,
4885                                      int ref_stride);
4886 #define vpx_highbd_sad8x16 vpx_highbd_sad8x16_sse2
4887 
4888 unsigned int vpx_highbd_sad8x16_avg_c(const uint8_t* src_ptr,
4889                                       int src_stride,
4890                                       const uint8_t* ref_ptr,
4891                                       int ref_stride,
4892                                       const uint8_t* second_pred);
4893 unsigned int vpx_highbd_sad8x16_avg_sse2(const uint8_t* src_ptr,
4894                                          int src_stride,
4895                                          const uint8_t* ref_ptr,
4896                                          int ref_stride,
4897                                          const uint8_t* second_pred);
4898 #define vpx_highbd_sad8x16_avg vpx_highbd_sad8x16_avg_sse2
4899 
4900 void vpx_highbd_sad8x16x4d_c(const uint8_t* src_ptr,
4901                              int src_stride,
4902                              const uint8_t* const ref_array[],
4903                              int ref_stride,
4904                              uint32_t* sad_array);
4905 void vpx_highbd_sad8x16x4d_sse2(const uint8_t* src_ptr,
4906                                 int src_stride,
4907                                 const uint8_t* const ref_array[],
4908                                 int ref_stride,
4909                                 uint32_t* sad_array);
4910 #define vpx_highbd_sad8x16x4d vpx_highbd_sad8x16x4d_sse2
4911 
4912 unsigned int vpx_highbd_sad8x4_c(const uint8_t* src_ptr,
4913                                  int src_stride,
4914                                  const uint8_t* ref_ptr,
4915                                  int ref_stride);
4916 unsigned int vpx_highbd_sad8x4_sse2(const uint8_t* src_ptr,
4917                                     int src_stride,
4918                                     const uint8_t* ref_ptr,
4919                                     int ref_stride);
4920 #define vpx_highbd_sad8x4 vpx_highbd_sad8x4_sse2
4921 
4922 unsigned int vpx_highbd_sad8x4_avg_c(const uint8_t* src_ptr,
4923                                      int src_stride,
4924                                      const uint8_t* ref_ptr,
4925                                      int ref_stride,
4926                                      const uint8_t* second_pred);
4927 unsigned int vpx_highbd_sad8x4_avg_sse2(const uint8_t* src_ptr,
4928                                         int src_stride,
4929                                         const uint8_t* ref_ptr,
4930                                         int ref_stride,
4931                                         const uint8_t* second_pred);
4932 #define vpx_highbd_sad8x4_avg vpx_highbd_sad8x4_avg_sse2
4933 
4934 void vpx_highbd_sad8x4x4d_c(const uint8_t* src_ptr,
4935                             int src_stride,
4936                             const uint8_t* const ref_array[],
4937                             int ref_stride,
4938                             uint32_t* sad_array);
4939 void vpx_highbd_sad8x4x4d_sse2(const uint8_t* src_ptr,
4940                                int src_stride,
4941                                const uint8_t* const ref_array[],
4942                                int ref_stride,
4943                                uint32_t* sad_array);
4944 #define vpx_highbd_sad8x4x4d vpx_highbd_sad8x4x4d_sse2
4945 
4946 unsigned int vpx_highbd_sad8x8_c(const uint8_t* src_ptr,
4947                                  int src_stride,
4948                                  const uint8_t* ref_ptr,
4949                                  int ref_stride);
4950 unsigned int vpx_highbd_sad8x8_sse2(const uint8_t* src_ptr,
4951                                     int src_stride,
4952                                     const uint8_t* ref_ptr,
4953                                     int ref_stride);
4954 #define vpx_highbd_sad8x8 vpx_highbd_sad8x8_sse2
4955 
4956 unsigned int vpx_highbd_sad8x8_avg_c(const uint8_t* src_ptr,
4957                                      int src_stride,
4958                                      const uint8_t* ref_ptr,
4959                                      int ref_stride,
4960                                      const uint8_t* second_pred);
4961 unsigned int vpx_highbd_sad8x8_avg_sse2(const uint8_t* src_ptr,
4962                                         int src_stride,
4963                                         const uint8_t* ref_ptr,
4964                                         int ref_stride,
4965                                         const uint8_t* second_pred);
4966 #define vpx_highbd_sad8x8_avg vpx_highbd_sad8x8_avg_sse2
4967 
4968 void vpx_highbd_sad8x8x4d_c(const uint8_t* src_ptr,
4969                             int src_stride,
4970                             const uint8_t* const ref_array[],
4971                             int ref_stride,
4972                             uint32_t* sad_array);
4973 void vpx_highbd_sad8x8x4d_sse2(const uint8_t* src_ptr,
4974                                int src_stride,
4975                                const uint8_t* const ref_array[],
4976                                int ref_stride,
4977                                uint32_t* sad_array);
4978 #define vpx_highbd_sad8x8x4d vpx_highbd_sad8x8x4d_sse2
4979 
4980 int vpx_highbd_satd_c(const tran_low_t* coeff, int length);
4981 int vpx_highbd_satd_avx2(const tran_low_t* coeff, int length);
4982 RTCD_EXTERN int (*vpx_highbd_satd)(const tran_low_t* coeff, int length);
4983 
4984 void vpx_highbd_subtract_block_c(int rows,
4985                                  int cols,
4986                                  int16_t* diff_ptr,
4987                                  ptrdiff_t diff_stride,
4988                                  const uint8_t* src8_ptr,
4989                                  ptrdiff_t src_stride,
4990                                  const uint8_t* pred8_ptr,
4991                                  ptrdiff_t pred_stride,
4992                                  int bd);
4993 #define vpx_highbd_subtract_block vpx_highbd_subtract_block_c
4994 
4995 void vpx_highbd_tm_predictor_16x16_c(uint16_t* dst,
4996                                      ptrdiff_t stride,
4997                                      const uint16_t* above,
4998                                      const uint16_t* left,
4999                                      int bd);
5000 void vpx_highbd_tm_predictor_16x16_sse2(uint16_t* dst,
5001                                         ptrdiff_t stride,
5002                                         const uint16_t* above,
5003                                         const uint16_t* left,
5004                                         int bd);
5005 #define vpx_highbd_tm_predictor_16x16 vpx_highbd_tm_predictor_16x16_sse2
5006 
5007 void vpx_highbd_tm_predictor_32x32_c(uint16_t* dst,
5008                                      ptrdiff_t stride,
5009                                      const uint16_t* above,
5010                                      const uint16_t* left,
5011                                      int bd);
5012 void vpx_highbd_tm_predictor_32x32_sse2(uint16_t* dst,
5013                                         ptrdiff_t stride,
5014                                         const uint16_t* above,
5015                                         const uint16_t* left,
5016                                         int bd);
5017 #define vpx_highbd_tm_predictor_32x32 vpx_highbd_tm_predictor_32x32_sse2
5018 
5019 void vpx_highbd_tm_predictor_4x4_c(uint16_t* dst,
5020                                    ptrdiff_t stride,
5021                                    const uint16_t* above,
5022                                    const uint16_t* left,
5023                                    int bd);
5024 void vpx_highbd_tm_predictor_4x4_sse2(uint16_t* dst,
5025                                       ptrdiff_t stride,
5026                                       const uint16_t* above,
5027                                       const uint16_t* left,
5028                                       int bd);
5029 #define vpx_highbd_tm_predictor_4x4 vpx_highbd_tm_predictor_4x4_sse2
5030 
5031 void vpx_highbd_tm_predictor_8x8_c(uint16_t* dst,
5032                                    ptrdiff_t stride,
5033                                    const uint16_t* above,
5034                                    const uint16_t* left,
5035                                    int bd);
5036 void vpx_highbd_tm_predictor_8x8_sse2(uint16_t* dst,
5037                                       ptrdiff_t stride,
5038                                       const uint16_t* above,
5039                                       const uint16_t* left,
5040                                       int bd);
5041 #define vpx_highbd_tm_predictor_8x8 vpx_highbd_tm_predictor_8x8_sse2
5042 
5043 void vpx_highbd_v_predictor_16x16_c(uint16_t* dst,
5044                                     ptrdiff_t stride,
5045                                     const uint16_t* above,
5046                                     const uint16_t* left,
5047                                     int bd);
5048 void vpx_highbd_v_predictor_16x16_sse2(uint16_t* dst,
5049                                        ptrdiff_t stride,
5050                                        const uint16_t* above,
5051                                        const uint16_t* left,
5052                                        int bd);
5053 #define vpx_highbd_v_predictor_16x16 vpx_highbd_v_predictor_16x16_sse2
5054 
5055 void vpx_highbd_v_predictor_32x32_c(uint16_t* dst,
5056                                     ptrdiff_t stride,
5057                                     const uint16_t* above,
5058                                     const uint16_t* left,
5059                                     int bd);
5060 void vpx_highbd_v_predictor_32x32_sse2(uint16_t* dst,
5061                                        ptrdiff_t stride,
5062                                        const uint16_t* above,
5063                                        const uint16_t* left,
5064                                        int bd);
5065 #define vpx_highbd_v_predictor_32x32 vpx_highbd_v_predictor_32x32_sse2
5066 
5067 void vpx_highbd_v_predictor_4x4_c(uint16_t* dst,
5068                                   ptrdiff_t stride,
5069                                   const uint16_t* above,
5070                                   const uint16_t* left,
5071                                   int bd);
5072 void vpx_highbd_v_predictor_4x4_sse2(uint16_t* dst,
5073                                      ptrdiff_t stride,
5074                                      const uint16_t* above,
5075                                      const uint16_t* left,
5076                                      int bd);
5077 #define vpx_highbd_v_predictor_4x4 vpx_highbd_v_predictor_4x4_sse2
5078 
5079 void vpx_highbd_v_predictor_8x8_c(uint16_t* dst,
5080                                   ptrdiff_t stride,
5081                                   const uint16_t* above,
5082                                   const uint16_t* left,
5083                                   int bd);
5084 void vpx_highbd_v_predictor_8x8_sse2(uint16_t* dst,
5085                                      ptrdiff_t stride,
5086                                      const uint16_t* above,
5087                                      const uint16_t* left,
5088                                      int bd);
5089 #define vpx_highbd_v_predictor_8x8 vpx_highbd_v_predictor_8x8_sse2
5090 
5091 void vpx_idct16x16_10_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5092 void vpx_idct16x16_10_add_sse2(const tran_low_t* input,
5093                                uint8_t* dest,
5094                                int stride);
5095 #define vpx_idct16x16_10_add vpx_idct16x16_10_add_sse2
5096 
5097 void vpx_idct16x16_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5098 void vpx_idct16x16_1_add_sse2(const tran_low_t* input,
5099                               uint8_t* dest,
5100                               int stride);
5101 #define vpx_idct16x16_1_add vpx_idct16x16_1_add_sse2
5102 
5103 void vpx_idct16x16_256_add_c(const tran_low_t* input,
5104                              uint8_t* dest,
5105                              int stride);
5106 void vpx_idct16x16_256_add_sse2(const tran_low_t* input,
5107                                 uint8_t* dest,
5108                                 int stride);
5109 #define vpx_idct16x16_256_add vpx_idct16x16_256_add_sse2
5110 
5111 void vpx_idct16x16_38_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5112 void vpx_idct16x16_38_add_sse2(const tran_low_t* input,
5113                                uint8_t* dest,
5114                                int stride);
5115 #define vpx_idct16x16_38_add vpx_idct16x16_38_add_sse2
5116 
5117 void vpx_idct32x32_1024_add_c(const tran_low_t* input,
5118                               uint8_t* dest,
5119                               int stride);
5120 void vpx_idct32x32_1024_add_sse2(const tran_low_t* input,
5121                                  uint8_t* dest,
5122                                  int stride);
5123 #define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_sse2
5124 
5125 void vpx_idct32x32_135_add_c(const tran_low_t* input,
5126                              uint8_t* dest,
5127                              int stride);
5128 void vpx_idct32x32_135_add_sse2(const tran_low_t* input,
5129                                 uint8_t* dest,
5130                                 int stride);
5131 void vpx_idct32x32_135_add_ssse3(const tran_low_t* input,
5132                                  uint8_t* dest,
5133                                  int stride);
5134 RTCD_EXTERN void (*vpx_idct32x32_135_add)(const tran_low_t* input,
5135                                           uint8_t* dest,
5136                                           int stride);
5137 
5138 void vpx_idct32x32_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5139 void vpx_idct32x32_1_add_sse2(const tran_low_t* input,
5140                               uint8_t* dest,
5141                               int stride);
5142 #define vpx_idct32x32_1_add vpx_idct32x32_1_add_sse2
5143 
5144 void vpx_idct32x32_34_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5145 void vpx_idct32x32_34_add_sse2(const tran_low_t* input,
5146                                uint8_t* dest,
5147                                int stride);
5148 void vpx_idct32x32_34_add_ssse3(const tran_low_t* input,
5149                                 uint8_t* dest,
5150                                 int stride);
5151 RTCD_EXTERN void (*vpx_idct32x32_34_add)(const tran_low_t* input,
5152                                          uint8_t* dest,
5153                                          int stride);
5154 
5155 void vpx_idct4x4_16_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5156 void vpx_idct4x4_16_add_sse2(const tran_low_t* input,
5157                              uint8_t* dest,
5158                              int stride);
5159 #define vpx_idct4x4_16_add vpx_idct4x4_16_add_sse2
5160 
5161 void vpx_idct4x4_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5162 void vpx_idct4x4_1_add_sse2(const tran_low_t* input, uint8_t* dest, int stride);
5163 #define vpx_idct4x4_1_add vpx_idct4x4_1_add_sse2
5164 
5165 void vpx_idct8x8_12_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5166 void vpx_idct8x8_12_add_sse2(const tran_low_t* input,
5167                              uint8_t* dest,
5168                              int stride);
5169 void vpx_idct8x8_12_add_ssse3(const tran_low_t* input,
5170                               uint8_t* dest,
5171                               int stride);
5172 RTCD_EXTERN void (*vpx_idct8x8_12_add)(const tran_low_t* input,
5173                                        uint8_t* dest,
5174                                        int stride);
5175 
5176 void vpx_idct8x8_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5177 void vpx_idct8x8_1_add_sse2(const tran_low_t* input, uint8_t* dest, int stride);
5178 #define vpx_idct8x8_1_add vpx_idct8x8_1_add_sse2
5179 
5180 void vpx_idct8x8_64_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5181 void vpx_idct8x8_64_add_sse2(const tran_low_t* input,
5182                              uint8_t* dest,
5183                              int stride);
5184 #define vpx_idct8x8_64_add vpx_idct8x8_64_add_sse2
5185 
5186 int16_t vpx_int_pro_col_c(const uint8_t* ref, const int width);
5187 int16_t vpx_int_pro_col_sse2(const uint8_t* ref, const int width);
5188 #define vpx_int_pro_col vpx_int_pro_col_sse2
5189 
5190 void vpx_int_pro_row_c(int16_t* hbuf,
5191                        const uint8_t* ref,
5192                        const int ref_stride,
5193                        const int height);
5194 void vpx_int_pro_row_sse2(int16_t* hbuf,
5195                           const uint8_t* ref,
5196                           const int ref_stride,
5197                           const int height);
5198 #define vpx_int_pro_row vpx_int_pro_row_sse2
5199 
5200 void vpx_iwht4x4_16_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5201 void vpx_iwht4x4_16_add_sse2(const tran_low_t* input,
5202                              uint8_t* dest,
5203                              int stride);
5204 #define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_sse2
5205 
5206 void vpx_iwht4x4_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
5207 #define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
5208 
5209 void vpx_lpf_horizontal_16_c(uint8_t* s,
5210                              int pitch,
5211                              const uint8_t* blimit,
5212                              const uint8_t* limit,
5213                              const uint8_t* thresh);
5214 void vpx_lpf_horizontal_16_sse2(uint8_t* s,
5215                                 int pitch,
5216                                 const uint8_t* blimit,
5217                                 const uint8_t* limit,
5218                                 const uint8_t* thresh);
5219 void vpx_lpf_horizontal_16_avx2(uint8_t* s,
5220                                 int pitch,
5221                                 const uint8_t* blimit,
5222                                 const uint8_t* limit,
5223                                 const uint8_t* thresh);
5224 RTCD_EXTERN void (*vpx_lpf_horizontal_16)(uint8_t* s,
5225                                           int pitch,
5226                                           const uint8_t* blimit,
5227                                           const uint8_t* limit,
5228                                           const uint8_t* thresh);
5229 
5230 void vpx_lpf_horizontal_16_dual_c(uint8_t* s,
5231                                   int pitch,
5232                                   const uint8_t* blimit,
5233                                   const uint8_t* limit,
5234                                   const uint8_t* thresh);
5235 void vpx_lpf_horizontal_16_dual_sse2(uint8_t* s,
5236                                      int pitch,
5237                                      const uint8_t* blimit,
5238                                      const uint8_t* limit,
5239                                      const uint8_t* thresh);
5240 void vpx_lpf_horizontal_16_dual_avx2(uint8_t* s,
5241                                      int pitch,
5242                                      const uint8_t* blimit,
5243                                      const uint8_t* limit,
5244                                      const uint8_t* thresh);
5245 RTCD_EXTERN void (*vpx_lpf_horizontal_16_dual)(uint8_t* s,
5246                                                int pitch,
5247                                                const uint8_t* blimit,
5248                                                const uint8_t* limit,
5249                                                const uint8_t* thresh);
5250 
5251 void vpx_lpf_horizontal_4_c(uint8_t* s,
5252                             int pitch,
5253                             const uint8_t* blimit,
5254                             const uint8_t* limit,
5255                             const uint8_t* thresh);
5256 void vpx_lpf_horizontal_4_sse2(uint8_t* s,
5257                                int pitch,
5258                                const uint8_t* blimit,
5259                                const uint8_t* limit,
5260                                const uint8_t* thresh);
5261 #define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_sse2
5262 
5263 void vpx_lpf_horizontal_4_dual_c(uint8_t* s,
5264                                  int pitch,
5265                                  const uint8_t* blimit0,
5266                                  const uint8_t* limit0,
5267                                  const uint8_t* thresh0,
5268                                  const uint8_t* blimit1,
5269                                  const uint8_t* limit1,
5270                                  const uint8_t* thresh1);
5271 void vpx_lpf_horizontal_4_dual_sse2(uint8_t* s,
5272                                     int pitch,
5273                                     const uint8_t* blimit0,
5274                                     const uint8_t* limit0,
5275                                     const uint8_t* thresh0,
5276                                     const uint8_t* blimit1,
5277                                     const uint8_t* limit1,
5278                                     const uint8_t* thresh1);
5279 #define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_sse2
5280 
5281 void vpx_lpf_horizontal_8_c(uint8_t* s,
5282                             int pitch,
5283                             const uint8_t* blimit,
5284                             const uint8_t* limit,
5285                             const uint8_t* thresh);
5286 void vpx_lpf_horizontal_8_sse2(uint8_t* s,
5287                                int pitch,
5288                                const uint8_t* blimit,
5289                                const uint8_t* limit,
5290                                const uint8_t* thresh);
5291 #define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_sse2
5292 
5293 void vpx_lpf_horizontal_8_dual_c(uint8_t* s,
5294                                  int pitch,
5295                                  const uint8_t* blimit0,
5296                                  const uint8_t* limit0,
5297                                  const uint8_t* thresh0,
5298                                  const uint8_t* blimit1,
5299                                  const uint8_t* limit1,
5300                                  const uint8_t* thresh1);
5301 void vpx_lpf_horizontal_8_dual_sse2(uint8_t* s,
5302                                     int pitch,
5303                                     const uint8_t* blimit0,
5304                                     const uint8_t* limit0,
5305                                     const uint8_t* thresh0,
5306                                     const uint8_t* blimit1,
5307                                     const uint8_t* limit1,
5308                                     const uint8_t* thresh1);
5309 #define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_sse2
5310 
5311 void vpx_lpf_vertical_16_c(uint8_t* s,
5312                            int pitch,
5313                            const uint8_t* blimit,
5314                            const uint8_t* limit,
5315                            const uint8_t* thresh);
5316 void vpx_lpf_vertical_16_sse2(uint8_t* s,
5317                               int pitch,
5318                               const uint8_t* blimit,
5319                               const uint8_t* limit,
5320                               const uint8_t* thresh);
5321 #define vpx_lpf_vertical_16 vpx_lpf_vertical_16_sse2
5322 
5323 void vpx_lpf_vertical_16_dual_c(uint8_t* s,
5324                                 int pitch,
5325                                 const uint8_t* blimit,
5326                                 const uint8_t* limit,
5327                                 const uint8_t* thresh);
5328 void vpx_lpf_vertical_16_dual_sse2(uint8_t* s,
5329                                    int pitch,
5330                                    const uint8_t* blimit,
5331                                    const uint8_t* limit,
5332                                    const uint8_t* thresh);
5333 #define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_sse2
5334 
5335 void vpx_lpf_vertical_4_c(uint8_t* s,
5336                           int pitch,
5337                           const uint8_t* blimit,
5338                           const uint8_t* limit,
5339                           const uint8_t* thresh);
5340 void vpx_lpf_vertical_4_sse2(uint8_t* s,
5341                              int pitch,
5342                              const uint8_t* blimit,
5343                              const uint8_t* limit,
5344                              const uint8_t* thresh);
5345 #define vpx_lpf_vertical_4 vpx_lpf_vertical_4_sse2
5346 
5347 void vpx_lpf_vertical_4_dual_c(uint8_t* s,
5348                                int pitch,
5349                                const uint8_t* blimit0,
5350                                const uint8_t* limit0,
5351                                const uint8_t* thresh0,
5352                                const uint8_t* blimit1,
5353                                const uint8_t* limit1,
5354                                const uint8_t* thresh1);
5355 void vpx_lpf_vertical_4_dual_sse2(uint8_t* s,
5356                                   int pitch,
5357                                   const uint8_t* blimit0,
5358                                   const uint8_t* limit0,
5359                                   const uint8_t* thresh0,
5360                                   const uint8_t* blimit1,
5361                                   const uint8_t* limit1,
5362                                   const uint8_t* thresh1);
5363 #define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_sse2
5364 
5365 void vpx_lpf_vertical_8_c(uint8_t* s,
5366                           int pitch,
5367                           const uint8_t* blimit,
5368                           const uint8_t* limit,
5369                           const uint8_t* thresh);
5370 void vpx_lpf_vertical_8_sse2(uint8_t* s,
5371                              int pitch,
5372                              const uint8_t* blimit,
5373                              const uint8_t* limit,
5374                              const uint8_t* thresh);
5375 #define vpx_lpf_vertical_8 vpx_lpf_vertical_8_sse2
5376 
5377 void vpx_lpf_vertical_8_dual_c(uint8_t* s,
5378                                int pitch,
5379                                const uint8_t* blimit0,
5380                                const uint8_t* limit0,
5381                                const uint8_t* thresh0,
5382                                const uint8_t* blimit1,
5383                                const uint8_t* limit1,
5384                                const uint8_t* thresh1);
5385 void vpx_lpf_vertical_8_dual_sse2(uint8_t* s,
5386                                   int pitch,
5387                                   const uint8_t* blimit0,
5388                                   const uint8_t* limit0,
5389                                   const uint8_t* thresh0,
5390                                   const uint8_t* blimit1,
5391                                   const uint8_t* limit1,
5392                                   const uint8_t* thresh1);
5393 #define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_sse2
5394 
5395 void vpx_mbpost_proc_across_ip_c(unsigned char* src,
5396                                  int pitch,
5397                                  int rows,
5398                                  int cols,
5399                                  int flimit);
5400 void vpx_mbpost_proc_across_ip_sse2(unsigned char* src,
5401                                     int pitch,
5402                                     int rows,
5403                                     int cols,
5404                                     int flimit);
5405 #define vpx_mbpost_proc_across_ip vpx_mbpost_proc_across_ip_sse2
5406 
5407 void vpx_mbpost_proc_down_c(unsigned char* dst,
5408                             int pitch,
5409                             int rows,
5410                             int cols,
5411                             int flimit);
5412 void vpx_mbpost_proc_down_sse2(unsigned char* dst,
5413                                int pitch,
5414                                int rows,
5415                                int cols,
5416                                int flimit);
5417 #define vpx_mbpost_proc_down vpx_mbpost_proc_down_sse2
5418 
5419 void vpx_minmax_8x8_c(const uint8_t* s,
5420                       int p,
5421                       const uint8_t* d,
5422                       int dp,
5423                       int* min,
5424                       int* max);
5425 void vpx_minmax_8x8_sse2(const uint8_t* s,
5426                          int p,
5427                          const uint8_t* d,
5428                          int dp,
5429                          int* min,
5430                          int* max);
5431 #define vpx_minmax_8x8 vpx_minmax_8x8_sse2
5432 
5433 unsigned int vpx_mse16x16_c(const uint8_t* src_ptr,
5434                             int src_stride,
5435                             const uint8_t* ref_ptr,
5436                             int ref_stride,
5437                             unsigned int* sse);
5438 unsigned int vpx_mse16x16_sse2(const uint8_t* src_ptr,
5439                                int src_stride,
5440                                const uint8_t* ref_ptr,
5441                                int ref_stride,
5442                                unsigned int* sse);
5443 unsigned int vpx_mse16x16_avx2(const uint8_t* src_ptr,
5444                                int src_stride,
5445                                const uint8_t* ref_ptr,
5446                                int ref_stride,
5447                                unsigned int* sse);
5448 RTCD_EXTERN unsigned int (*vpx_mse16x16)(const uint8_t* src_ptr,
5449                                          int src_stride,
5450                                          const uint8_t* ref_ptr,
5451                                          int ref_stride,
5452                                          unsigned int* sse);
5453 
5454 unsigned int vpx_mse16x8_c(const uint8_t* src_ptr,
5455                            int src_stride,
5456                            const uint8_t* ref_ptr,
5457                            int ref_stride,
5458                            unsigned int* sse);
5459 unsigned int vpx_mse16x8_sse2(const uint8_t* src_ptr,
5460                               int src_stride,
5461                               const uint8_t* ref_ptr,
5462                               int ref_stride,
5463                               unsigned int* sse);
5464 unsigned int vpx_mse16x8_avx2(const uint8_t* src_ptr,
5465                               int src_stride,
5466                               const uint8_t* ref_ptr,
5467                               int ref_stride,
5468                               unsigned int* sse);
5469 RTCD_EXTERN unsigned int (*vpx_mse16x8)(const uint8_t* src_ptr,
5470                                         int src_stride,
5471                                         const uint8_t* ref_ptr,
5472                                         int ref_stride,
5473                                         unsigned int* sse);
5474 
5475 unsigned int vpx_mse8x16_c(const uint8_t* src_ptr,
5476                            int src_stride,
5477                            const uint8_t* ref_ptr,
5478                            int ref_stride,
5479                            unsigned int* sse);
5480 unsigned int vpx_mse8x16_sse2(const uint8_t* src_ptr,
5481                               int src_stride,
5482                               const uint8_t* ref_ptr,
5483                               int ref_stride,
5484                               unsigned int* sse);
5485 #define vpx_mse8x16 vpx_mse8x16_sse2
5486 
5487 unsigned int vpx_mse8x8_c(const uint8_t* src_ptr,
5488                           int src_stride,
5489                           const uint8_t* ref_ptr,
5490                           int ref_stride,
5491                           unsigned int* sse);
5492 unsigned int vpx_mse8x8_sse2(const uint8_t* src_ptr,
5493                              int src_stride,
5494                              const uint8_t* ref_ptr,
5495                              int ref_stride,
5496                              unsigned int* sse);
5497 #define vpx_mse8x8 vpx_mse8x8_sse2
5498 
5499 void vpx_plane_add_noise_c(uint8_t* start,
5500                            const int8_t* noise,
5501                            int blackclamp,
5502                            int whiteclamp,
5503                            int width,
5504                            int height,
5505                            int pitch);
5506 void vpx_plane_add_noise_sse2(uint8_t* start,
5507                               const int8_t* noise,
5508                               int blackclamp,
5509                               int whiteclamp,
5510                               int width,
5511                               int height,
5512                               int pitch);
5513 #define vpx_plane_add_noise vpx_plane_add_noise_sse2
5514 
5515 void vpx_post_proc_down_and_across_mb_row_c(unsigned char* src,
5516                                             unsigned char* dst,
5517                                             int src_pitch,
5518                                             int dst_pitch,
5519                                             int cols,
5520                                             unsigned char* flimits,
5521                                             int size);
5522 void vpx_post_proc_down_and_across_mb_row_sse2(unsigned char* src,
5523                                                unsigned char* dst,
5524                                                int src_pitch,
5525                                                int dst_pitch,
5526                                                int cols,
5527                                                unsigned char* flimits,
5528                                                int size);
5529 #define vpx_post_proc_down_and_across_mb_row \
5530   vpx_post_proc_down_and_across_mb_row_sse2
5531 
5532 void vpx_quantize_b_c(const tran_low_t* coeff_ptr,
5533                       intptr_t n_coeffs,
5534                       int skip_block,
5535                       const int16_t* zbin_ptr,
5536                       const int16_t* round_ptr,
5537                       const int16_t* quant_ptr,
5538                       const int16_t* quant_shift_ptr,
5539                       tran_low_t* qcoeff_ptr,
5540                       tran_low_t* dqcoeff_ptr,
5541                       const int16_t* dequant_ptr,
5542                       uint16_t* eob_ptr,
5543                       const int16_t* scan,
5544                       const int16_t* iscan);
5545 void vpx_quantize_b_sse2(const tran_low_t* coeff_ptr,
5546                          intptr_t n_coeffs,
5547                          int skip_block,
5548                          const int16_t* zbin_ptr,
5549                          const int16_t* round_ptr,
5550                          const int16_t* quant_ptr,
5551                          const int16_t* quant_shift_ptr,
5552                          tran_low_t* qcoeff_ptr,
5553                          tran_low_t* dqcoeff_ptr,
5554                          const int16_t* dequant_ptr,
5555                          uint16_t* eob_ptr,
5556                          const int16_t* scan,
5557                          const int16_t* iscan);
5558 void vpx_quantize_b_ssse3(const tran_low_t* coeff_ptr,
5559                           intptr_t n_coeffs,
5560                           int skip_block,
5561                           const int16_t* zbin_ptr,
5562                           const int16_t* round_ptr,
5563                           const int16_t* quant_ptr,
5564                           const int16_t* quant_shift_ptr,
5565                           tran_low_t* qcoeff_ptr,
5566                           tran_low_t* dqcoeff_ptr,
5567                           const int16_t* dequant_ptr,
5568                           uint16_t* eob_ptr,
5569                           const int16_t* scan,
5570                           const int16_t* iscan);
5571 void vpx_quantize_b_avx(const tran_low_t* coeff_ptr,
5572                         intptr_t n_coeffs,
5573                         int skip_block,
5574                         const int16_t* zbin_ptr,
5575                         const int16_t* round_ptr,
5576                         const int16_t* quant_ptr,
5577                         const int16_t* quant_shift_ptr,
5578                         tran_low_t* qcoeff_ptr,
5579                         tran_low_t* dqcoeff_ptr,
5580                         const int16_t* dequant_ptr,
5581                         uint16_t* eob_ptr,
5582                         const int16_t* scan,
5583                         const int16_t* iscan);
5584 RTCD_EXTERN void (*vpx_quantize_b)(const tran_low_t* coeff_ptr,
5585                                    intptr_t n_coeffs,
5586                                    int skip_block,
5587                                    const int16_t* zbin_ptr,
5588                                    const int16_t* round_ptr,
5589                                    const int16_t* quant_ptr,
5590                                    const int16_t* quant_shift_ptr,
5591                                    tran_low_t* qcoeff_ptr,
5592                                    tran_low_t* dqcoeff_ptr,
5593                                    const int16_t* dequant_ptr,
5594                                    uint16_t* eob_ptr,
5595                                    const int16_t* scan,
5596                                    const int16_t* iscan);
5597 
5598 void vpx_quantize_b_32x32_c(const tran_low_t* coeff_ptr,
5599                             intptr_t n_coeffs,
5600                             int skip_block,
5601                             const int16_t* zbin_ptr,
5602                             const int16_t* round_ptr,
5603                             const int16_t* quant_ptr,
5604                             const int16_t* quant_shift_ptr,
5605                             tran_low_t* qcoeff_ptr,
5606                             tran_low_t* dqcoeff_ptr,
5607                             const int16_t* dequant_ptr,
5608                             uint16_t* eob_ptr,
5609                             const int16_t* scan,
5610                             const int16_t* iscan);
5611 void vpx_quantize_b_32x32_ssse3(const tran_low_t* coeff_ptr,
5612                                 intptr_t n_coeffs,
5613                                 int skip_block,
5614                                 const int16_t* zbin_ptr,
5615                                 const int16_t* round_ptr,
5616                                 const int16_t* quant_ptr,
5617                                 const int16_t* quant_shift_ptr,
5618                                 tran_low_t* qcoeff_ptr,
5619                                 tran_low_t* dqcoeff_ptr,
5620                                 const int16_t* dequant_ptr,
5621                                 uint16_t* eob_ptr,
5622                                 const int16_t* scan,
5623                                 const int16_t* iscan);
5624 void vpx_quantize_b_32x32_avx(const tran_low_t* coeff_ptr,
5625                               intptr_t n_coeffs,
5626                               int skip_block,
5627                               const int16_t* zbin_ptr,
5628                               const int16_t* round_ptr,
5629                               const int16_t* quant_ptr,
5630                               const int16_t* quant_shift_ptr,
5631                               tran_low_t* qcoeff_ptr,
5632                               tran_low_t* dqcoeff_ptr,
5633                               const int16_t* dequant_ptr,
5634                               uint16_t* eob_ptr,
5635                               const int16_t* scan,
5636                               const int16_t* iscan);
5637 RTCD_EXTERN void (*vpx_quantize_b_32x32)(const tran_low_t* coeff_ptr,
5638                                          intptr_t n_coeffs,
5639                                          int skip_block,
5640                                          const int16_t* zbin_ptr,
5641                                          const int16_t* round_ptr,
5642                                          const int16_t* quant_ptr,
5643                                          const int16_t* quant_shift_ptr,
5644                                          tran_low_t* qcoeff_ptr,
5645                                          tran_low_t* dqcoeff_ptr,
5646                                          const int16_t* dequant_ptr,
5647                                          uint16_t* eob_ptr,
5648                                          const int16_t* scan,
5649                                          const int16_t* iscan);
5650 
5651 unsigned int vpx_sad16x16_c(const uint8_t* src_ptr,
5652                             int src_stride,
5653                             const uint8_t* ref_ptr,
5654                             int ref_stride);
5655 unsigned int vpx_sad16x16_sse2(const uint8_t* src_ptr,
5656                                int src_stride,
5657                                const uint8_t* ref_ptr,
5658                                int ref_stride);
5659 #define vpx_sad16x16 vpx_sad16x16_sse2
5660 
5661 unsigned int vpx_sad16x16_avg_c(const uint8_t* src_ptr,
5662                                 int src_stride,
5663                                 const uint8_t* ref_ptr,
5664                                 int ref_stride,
5665                                 const uint8_t* second_pred);
5666 unsigned int vpx_sad16x16_avg_sse2(const uint8_t* src_ptr,
5667                                    int src_stride,
5668                                    const uint8_t* ref_ptr,
5669                                    int ref_stride,
5670                                    const uint8_t* second_pred);
5671 #define vpx_sad16x16_avg vpx_sad16x16_avg_sse2
5672 
5673 void vpx_sad16x16x3_c(const uint8_t* src_ptr,
5674                       int src_stride,
5675                       const uint8_t* ref_ptr,
5676                       int ref_stride,
5677                       uint32_t* sad_array);
5678 void vpx_sad16x16x3_sse3(const uint8_t* src_ptr,
5679                          int src_stride,
5680                          const uint8_t* ref_ptr,
5681                          int ref_stride,
5682                          uint32_t* sad_array);
5683 void vpx_sad16x16x3_ssse3(const uint8_t* src_ptr,
5684                           int src_stride,
5685                           const uint8_t* ref_ptr,
5686                           int ref_stride,
5687                           uint32_t* sad_array);
5688 RTCD_EXTERN void (*vpx_sad16x16x3)(const uint8_t* src_ptr,
5689                                    int src_stride,
5690                                    const uint8_t* ref_ptr,
5691                                    int ref_stride,
5692                                    uint32_t* sad_array);
5693 
5694 void vpx_sad16x16x4d_c(const uint8_t* src_ptr,
5695                        int src_stride,
5696                        const uint8_t* const ref_array[],
5697                        int ref_stride,
5698                        uint32_t* sad_array);
5699 void vpx_sad16x16x4d_sse2(const uint8_t* src_ptr,
5700                           int src_stride,
5701                           const uint8_t* const ref_array[],
5702                           int ref_stride,
5703                           uint32_t* sad_array);
5704 #define vpx_sad16x16x4d vpx_sad16x16x4d_sse2
5705 
5706 void vpx_sad16x16x8_c(const uint8_t* src_ptr,
5707                       int src_stride,
5708                       const uint8_t* ref_ptr,
5709                       int ref_stride,
5710                       uint32_t* sad_array);
5711 void vpx_sad16x16x8_sse4_1(const uint8_t* src_ptr,
5712                            int src_stride,
5713                            const uint8_t* ref_ptr,
5714                            int ref_stride,
5715                            uint32_t* sad_array);
5716 RTCD_EXTERN void (*vpx_sad16x16x8)(const uint8_t* src_ptr,
5717                                    int src_stride,
5718                                    const uint8_t* ref_ptr,
5719                                    int ref_stride,
5720                                    uint32_t* sad_array);
5721 
5722 unsigned int vpx_sad16x32_c(const uint8_t* src_ptr,
5723                             int src_stride,
5724                             const uint8_t* ref_ptr,
5725                             int ref_stride);
5726 unsigned int vpx_sad16x32_sse2(const uint8_t* src_ptr,
5727                                int src_stride,
5728                                const uint8_t* ref_ptr,
5729                                int ref_stride);
5730 #define vpx_sad16x32 vpx_sad16x32_sse2
5731 
5732 unsigned int vpx_sad16x32_avg_c(const uint8_t* src_ptr,
5733                                 int src_stride,
5734                                 const uint8_t* ref_ptr,
5735                                 int ref_stride,
5736                                 const uint8_t* second_pred);
5737 unsigned int vpx_sad16x32_avg_sse2(const uint8_t* src_ptr,
5738                                    int src_stride,
5739                                    const uint8_t* ref_ptr,
5740                                    int ref_stride,
5741                                    const uint8_t* second_pred);
5742 #define vpx_sad16x32_avg vpx_sad16x32_avg_sse2
5743 
5744 void vpx_sad16x32x4d_c(const uint8_t* src_ptr,
5745                        int src_stride,
5746                        const uint8_t* const ref_array[],
5747                        int ref_stride,
5748                        uint32_t* sad_array);
5749 void vpx_sad16x32x4d_sse2(const uint8_t* src_ptr,
5750                           int src_stride,
5751                           const uint8_t* const ref_array[],
5752                           int ref_stride,
5753                           uint32_t* sad_array);
5754 #define vpx_sad16x32x4d vpx_sad16x32x4d_sse2
5755 
5756 unsigned int vpx_sad16x8_c(const uint8_t* src_ptr,
5757                            int src_stride,
5758                            const uint8_t* ref_ptr,
5759                            int ref_stride);
5760 unsigned int vpx_sad16x8_sse2(const uint8_t* src_ptr,
5761                               int src_stride,
5762                               const uint8_t* ref_ptr,
5763                               int ref_stride);
5764 #define vpx_sad16x8 vpx_sad16x8_sse2
5765 
5766 unsigned int vpx_sad16x8_avg_c(const uint8_t* src_ptr,
5767                                int src_stride,
5768                                const uint8_t* ref_ptr,
5769                                int ref_stride,
5770                                const uint8_t* second_pred);
5771 unsigned int vpx_sad16x8_avg_sse2(const uint8_t* src_ptr,
5772                                   int src_stride,
5773                                   const uint8_t* ref_ptr,
5774                                   int ref_stride,
5775                                   const uint8_t* second_pred);
5776 #define vpx_sad16x8_avg vpx_sad16x8_avg_sse2
5777 
5778 void vpx_sad16x8x3_c(const uint8_t* src_ptr,
5779                      int src_stride,
5780                      const uint8_t* ref_ptr,
5781                      int ref_stride,
5782                      uint32_t* sad_array);
5783 void vpx_sad16x8x3_sse3(const uint8_t* src_ptr,
5784                         int src_stride,
5785                         const uint8_t* ref_ptr,
5786                         int ref_stride,
5787                         uint32_t* sad_array);
5788 void vpx_sad16x8x3_ssse3(const uint8_t* src_ptr,
5789                          int src_stride,
5790                          const uint8_t* ref_ptr,
5791                          int ref_stride,
5792                          uint32_t* sad_array);
5793 RTCD_EXTERN void (*vpx_sad16x8x3)(const uint8_t* src_ptr,
5794                                   int src_stride,
5795                                   const uint8_t* ref_ptr,
5796                                   int ref_stride,
5797                                   uint32_t* sad_array);
5798 
5799 void vpx_sad16x8x4d_c(const uint8_t* src_ptr,
5800                       int src_stride,
5801                       const uint8_t* const ref_array[],
5802                       int ref_stride,
5803                       uint32_t* sad_array);
5804 void vpx_sad16x8x4d_sse2(const uint8_t* src_ptr,
5805                          int src_stride,
5806                          const uint8_t* const ref_array[],
5807                          int ref_stride,
5808                          uint32_t* sad_array);
5809 #define vpx_sad16x8x4d vpx_sad16x8x4d_sse2
5810 
5811 void vpx_sad16x8x8_c(const uint8_t* src_ptr,
5812                      int src_stride,
5813                      const uint8_t* ref_ptr,
5814                      int ref_stride,
5815                      uint32_t* sad_array);
5816 void vpx_sad16x8x8_sse4_1(const uint8_t* src_ptr,
5817                           int src_stride,
5818                           const uint8_t* ref_ptr,
5819                           int ref_stride,
5820                           uint32_t* sad_array);
5821 RTCD_EXTERN void (*vpx_sad16x8x8)(const uint8_t* src_ptr,
5822                                   int src_stride,
5823                                   const uint8_t* ref_ptr,
5824                                   int ref_stride,
5825                                   uint32_t* sad_array);
5826 
5827 unsigned int vpx_sad32x16_c(const uint8_t* src_ptr,
5828                             int src_stride,
5829                             const uint8_t* ref_ptr,
5830                             int ref_stride);
5831 unsigned int vpx_sad32x16_sse2(const uint8_t* src_ptr,
5832                                int src_stride,
5833                                const uint8_t* ref_ptr,
5834                                int ref_stride);
5835 unsigned int vpx_sad32x16_avx2(const uint8_t* src_ptr,
5836                                int src_stride,
5837                                const uint8_t* ref_ptr,
5838                                int ref_stride);
5839 RTCD_EXTERN unsigned int (*vpx_sad32x16)(const uint8_t* src_ptr,
5840                                          int src_stride,
5841                                          const uint8_t* ref_ptr,
5842                                          int ref_stride);
5843 
5844 unsigned int vpx_sad32x16_avg_c(const uint8_t* src_ptr,
5845                                 int src_stride,
5846                                 const uint8_t* ref_ptr,
5847                                 int ref_stride,
5848                                 const uint8_t* second_pred);
5849 unsigned int vpx_sad32x16_avg_sse2(const uint8_t* src_ptr,
5850                                    int src_stride,
5851                                    const uint8_t* ref_ptr,
5852                                    int ref_stride,
5853                                    const uint8_t* second_pred);
5854 unsigned int vpx_sad32x16_avg_avx2(const uint8_t* src_ptr,
5855                                    int src_stride,
5856                                    const uint8_t* ref_ptr,
5857                                    int ref_stride,
5858                                    const uint8_t* second_pred);
5859 RTCD_EXTERN unsigned int (*vpx_sad32x16_avg)(const uint8_t* src_ptr,
5860                                              int src_stride,
5861                                              const uint8_t* ref_ptr,
5862                                              int ref_stride,
5863                                              const uint8_t* second_pred);
5864 
5865 void vpx_sad32x16x4d_c(const uint8_t* src_ptr,
5866                        int src_stride,
5867                        const uint8_t* const ref_array[],
5868                        int ref_stride,
5869                        uint32_t* sad_array);
5870 void vpx_sad32x16x4d_sse2(const uint8_t* src_ptr,
5871                           int src_stride,
5872                           const uint8_t* const ref_array[],
5873                           int ref_stride,
5874                           uint32_t* sad_array);
5875 #define vpx_sad32x16x4d vpx_sad32x16x4d_sse2
5876 
5877 unsigned int vpx_sad32x32_c(const uint8_t* src_ptr,
5878                             int src_stride,
5879                             const uint8_t* ref_ptr,
5880                             int ref_stride);
5881 unsigned int vpx_sad32x32_sse2(const uint8_t* src_ptr,
5882                                int src_stride,
5883                                const uint8_t* ref_ptr,
5884                                int ref_stride);
5885 unsigned int vpx_sad32x32_avx2(const uint8_t* src_ptr,
5886                                int src_stride,
5887                                const uint8_t* ref_ptr,
5888                                int ref_stride);
5889 RTCD_EXTERN unsigned int (*vpx_sad32x32)(const uint8_t* src_ptr,
5890                                          int src_stride,
5891                                          const uint8_t* ref_ptr,
5892                                          int ref_stride);
5893 
5894 unsigned int vpx_sad32x32_avg_c(const uint8_t* src_ptr,
5895                                 int src_stride,
5896                                 const uint8_t* ref_ptr,
5897                                 int ref_stride,
5898                                 const uint8_t* second_pred);
5899 unsigned int vpx_sad32x32_avg_sse2(const uint8_t* src_ptr,
5900                                    int src_stride,
5901                                    const uint8_t* ref_ptr,
5902                                    int ref_stride,
5903                                    const uint8_t* second_pred);
5904 unsigned int vpx_sad32x32_avg_avx2(const uint8_t* src_ptr,
5905                                    int src_stride,
5906                                    const uint8_t* ref_ptr,
5907                                    int ref_stride,
5908                                    const uint8_t* second_pred);
5909 RTCD_EXTERN unsigned int (*vpx_sad32x32_avg)(const uint8_t* src_ptr,
5910                                              int src_stride,
5911                                              const uint8_t* ref_ptr,
5912                                              int ref_stride,
5913                                              const uint8_t* second_pred);
5914 
5915 void vpx_sad32x32x4d_c(const uint8_t* src_ptr,
5916                        int src_stride,
5917                        const uint8_t* const ref_array[],
5918                        int ref_stride,
5919                        uint32_t* sad_array);
5920 void vpx_sad32x32x4d_sse2(const uint8_t* src_ptr,
5921                           int src_stride,
5922                           const uint8_t* const ref_array[],
5923                           int ref_stride,
5924                           uint32_t* sad_array);
5925 void vpx_sad32x32x4d_avx2(const uint8_t* src_ptr,
5926                           int src_stride,
5927                           const uint8_t* const ref_array[],
5928                           int ref_stride,
5929                           uint32_t* sad_array);
5930 RTCD_EXTERN void (*vpx_sad32x32x4d)(const uint8_t* src_ptr,
5931                                     int src_stride,
5932                                     const uint8_t* const ref_array[],
5933                                     int ref_stride,
5934                                     uint32_t* sad_array);
5935 
5936 void vpx_sad32x32x8_c(const uint8_t* src_ptr,
5937                       int src_stride,
5938                       const uint8_t* ref_ptr,
5939                       int ref_stride,
5940                       uint32_t* sad_array);
5941 void vpx_sad32x32x8_avx2(const uint8_t* src_ptr,
5942                          int src_stride,
5943                          const uint8_t* ref_ptr,
5944                          int ref_stride,
5945                          uint32_t* sad_array);
5946 RTCD_EXTERN void (*vpx_sad32x32x8)(const uint8_t* src_ptr,
5947                                    int src_stride,
5948                                    const uint8_t* ref_ptr,
5949                                    int ref_stride,
5950                                    uint32_t* sad_array);
5951 
5952 unsigned int vpx_sad32x64_c(const uint8_t* src_ptr,
5953                             int src_stride,
5954                             const uint8_t* ref_ptr,
5955                             int ref_stride);
5956 unsigned int vpx_sad32x64_sse2(const uint8_t* src_ptr,
5957                                int src_stride,
5958                                const uint8_t* ref_ptr,
5959                                int ref_stride);
5960 unsigned int vpx_sad32x64_avx2(const uint8_t* src_ptr,
5961                                int src_stride,
5962                                const uint8_t* ref_ptr,
5963                                int ref_stride);
5964 RTCD_EXTERN unsigned int (*vpx_sad32x64)(const uint8_t* src_ptr,
5965                                          int src_stride,
5966                                          const uint8_t* ref_ptr,
5967                                          int ref_stride);
5968 
5969 unsigned int vpx_sad32x64_avg_c(const uint8_t* src_ptr,
5970                                 int src_stride,
5971                                 const uint8_t* ref_ptr,
5972                                 int ref_stride,
5973                                 const uint8_t* second_pred);
5974 unsigned int vpx_sad32x64_avg_sse2(const uint8_t* src_ptr,
5975                                    int src_stride,
5976                                    const uint8_t* ref_ptr,
5977                                    int ref_stride,
5978                                    const uint8_t* second_pred);
5979 unsigned int vpx_sad32x64_avg_avx2(const uint8_t* src_ptr,
5980                                    int src_stride,
5981                                    const uint8_t* ref_ptr,
5982                                    int ref_stride,
5983                                    const uint8_t* second_pred);
5984 RTCD_EXTERN unsigned int (*vpx_sad32x64_avg)(const uint8_t* src_ptr,
5985                                              int src_stride,
5986                                              const uint8_t* ref_ptr,
5987                                              int ref_stride,
5988                                              const uint8_t* second_pred);
5989 
5990 void vpx_sad32x64x4d_c(const uint8_t* src_ptr,
5991                        int src_stride,
5992                        const uint8_t* const ref_array[],
5993                        int ref_stride,
5994                        uint32_t* sad_array);
5995 void vpx_sad32x64x4d_sse2(const uint8_t* src_ptr,
5996                           int src_stride,
5997                           const uint8_t* const ref_array[],
5998                           int ref_stride,
5999                           uint32_t* sad_array);
6000 #define vpx_sad32x64x4d vpx_sad32x64x4d_sse2
6001 
6002 unsigned int vpx_sad4x4_c(const uint8_t* src_ptr,
6003                           int src_stride,
6004                           const uint8_t* ref_ptr,
6005                           int ref_stride);
6006 unsigned int vpx_sad4x4_sse2(const uint8_t* src_ptr,
6007                              int src_stride,
6008                              const uint8_t* ref_ptr,
6009                              int ref_stride);
6010 #define vpx_sad4x4 vpx_sad4x4_sse2
6011 
6012 unsigned int vpx_sad4x4_avg_c(const uint8_t* src_ptr,
6013                               int src_stride,
6014                               const uint8_t* ref_ptr,
6015                               int ref_stride,
6016                               const uint8_t* second_pred);
6017 unsigned int vpx_sad4x4_avg_sse2(const uint8_t* src_ptr,
6018                                  int src_stride,
6019                                  const uint8_t* ref_ptr,
6020                                  int ref_stride,
6021                                  const uint8_t* second_pred);
6022 #define vpx_sad4x4_avg vpx_sad4x4_avg_sse2
6023 
6024 void vpx_sad4x4x3_c(const uint8_t* src_ptr,
6025                     int src_stride,
6026                     const uint8_t* ref_ptr,
6027                     int ref_stride,
6028                     uint32_t* sad_array);
6029 void vpx_sad4x4x3_sse3(const uint8_t* src_ptr,
6030                        int src_stride,
6031                        const uint8_t* ref_ptr,
6032                        int ref_stride,
6033                        uint32_t* sad_array);
6034 RTCD_EXTERN void (*vpx_sad4x4x3)(const uint8_t* src_ptr,
6035                                  int src_stride,
6036                                  const uint8_t* ref_ptr,
6037                                  int ref_stride,
6038                                  uint32_t* sad_array);
6039 
6040 void vpx_sad4x4x4d_c(const uint8_t* src_ptr,
6041                      int src_stride,
6042                      const uint8_t* const ref_array[],
6043                      int ref_stride,
6044                      uint32_t* sad_array);
6045 void vpx_sad4x4x4d_sse2(const uint8_t* src_ptr,
6046                         int src_stride,
6047                         const uint8_t* const ref_array[],
6048                         int ref_stride,
6049                         uint32_t* sad_array);
6050 #define vpx_sad4x4x4d vpx_sad4x4x4d_sse2
6051 
6052 void vpx_sad4x4x8_c(const uint8_t* src_ptr,
6053                     int src_stride,
6054                     const uint8_t* ref_ptr,
6055                     int ref_stride,
6056                     uint32_t* sad_array);
6057 void vpx_sad4x4x8_sse4_1(const uint8_t* src_ptr,
6058                          int src_stride,
6059                          const uint8_t* ref_ptr,
6060                          int ref_stride,
6061                          uint32_t* sad_array);
6062 RTCD_EXTERN void (*vpx_sad4x4x8)(const uint8_t* src_ptr,
6063                                  int src_stride,
6064                                  const uint8_t* ref_ptr,
6065                                  int ref_stride,
6066                                  uint32_t* sad_array);
6067 
6068 unsigned int vpx_sad4x8_c(const uint8_t* src_ptr,
6069                           int src_stride,
6070                           const uint8_t* ref_ptr,
6071                           int ref_stride);
6072 unsigned int vpx_sad4x8_sse2(const uint8_t* src_ptr,
6073                              int src_stride,
6074                              const uint8_t* ref_ptr,
6075                              int ref_stride);
6076 #define vpx_sad4x8 vpx_sad4x8_sse2
6077 
6078 unsigned int vpx_sad4x8_avg_c(const uint8_t* src_ptr,
6079                               int src_stride,
6080                               const uint8_t* ref_ptr,
6081                               int ref_stride,
6082                               const uint8_t* second_pred);
6083 unsigned int vpx_sad4x8_avg_sse2(const uint8_t* src_ptr,
6084                                  int src_stride,
6085                                  const uint8_t* ref_ptr,
6086                                  int ref_stride,
6087                                  const uint8_t* second_pred);
6088 #define vpx_sad4x8_avg vpx_sad4x8_avg_sse2
6089 
6090 void vpx_sad4x8x4d_c(const uint8_t* src_ptr,
6091                      int src_stride,
6092                      const uint8_t* const ref_array[],
6093                      int ref_stride,
6094                      uint32_t* sad_array);
6095 void vpx_sad4x8x4d_sse2(const uint8_t* src_ptr,
6096                         int src_stride,
6097                         const uint8_t* const ref_array[],
6098                         int ref_stride,
6099                         uint32_t* sad_array);
6100 #define vpx_sad4x8x4d vpx_sad4x8x4d_sse2
6101 
6102 unsigned int vpx_sad64x32_c(const uint8_t* src_ptr,
6103                             int src_stride,
6104                             const uint8_t* ref_ptr,
6105                             int ref_stride);
6106 unsigned int vpx_sad64x32_sse2(const uint8_t* src_ptr,
6107                                int src_stride,
6108                                const uint8_t* ref_ptr,
6109                                int ref_stride);
6110 unsigned int vpx_sad64x32_avx2(const uint8_t* src_ptr,
6111                                int src_stride,
6112                                const uint8_t* ref_ptr,
6113                                int ref_stride);
6114 RTCD_EXTERN unsigned int (*vpx_sad64x32)(const uint8_t* src_ptr,
6115                                          int src_stride,
6116                                          const uint8_t* ref_ptr,
6117                                          int ref_stride);
6118 
6119 unsigned int vpx_sad64x32_avg_c(const uint8_t* src_ptr,
6120                                 int src_stride,
6121                                 const uint8_t* ref_ptr,
6122                                 int ref_stride,
6123                                 const uint8_t* second_pred);
6124 unsigned int vpx_sad64x32_avg_sse2(const uint8_t* src_ptr,
6125                                    int src_stride,
6126                                    const uint8_t* ref_ptr,
6127                                    int ref_stride,
6128                                    const uint8_t* second_pred);
6129 unsigned int vpx_sad64x32_avg_avx2(const uint8_t* src_ptr,
6130                                    int src_stride,
6131                                    const uint8_t* ref_ptr,
6132                                    int ref_stride,
6133                                    const uint8_t* second_pred);
6134 RTCD_EXTERN unsigned int (*vpx_sad64x32_avg)(const uint8_t* src_ptr,
6135                                              int src_stride,
6136                                              const uint8_t* ref_ptr,
6137                                              int ref_stride,
6138                                              const uint8_t* second_pred);
6139 
6140 void vpx_sad64x32x4d_c(const uint8_t* src_ptr,
6141                        int src_stride,
6142                        const uint8_t* const ref_array[],
6143                        int ref_stride,
6144                        uint32_t* sad_array);
6145 void vpx_sad64x32x4d_sse2(const uint8_t* src_ptr,
6146                           int src_stride,
6147                           const uint8_t* const ref_array[],
6148                           int ref_stride,
6149                           uint32_t* sad_array);
6150 #define vpx_sad64x32x4d vpx_sad64x32x4d_sse2
6151 
6152 unsigned int vpx_sad64x64_c(const uint8_t* src_ptr,
6153                             int src_stride,
6154                             const uint8_t* ref_ptr,
6155                             int ref_stride);
6156 unsigned int vpx_sad64x64_sse2(const uint8_t* src_ptr,
6157                                int src_stride,
6158                                const uint8_t* ref_ptr,
6159                                int ref_stride);
6160 unsigned int vpx_sad64x64_avx2(const uint8_t* src_ptr,
6161                                int src_stride,
6162                                const uint8_t* ref_ptr,
6163                                int ref_stride);
6164 RTCD_EXTERN unsigned int (*vpx_sad64x64)(const uint8_t* src_ptr,
6165                                          int src_stride,
6166                                          const uint8_t* ref_ptr,
6167                                          int ref_stride);
6168 
6169 unsigned int vpx_sad64x64_avg_c(const uint8_t* src_ptr,
6170                                 int src_stride,
6171                                 const uint8_t* ref_ptr,
6172                                 int ref_stride,
6173                                 const uint8_t* second_pred);
6174 unsigned int vpx_sad64x64_avg_sse2(const uint8_t* src_ptr,
6175                                    int src_stride,
6176                                    const uint8_t* ref_ptr,
6177                                    int ref_stride,
6178                                    const uint8_t* second_pred);
6179 unsigned int vpx_sad64x64_avg_avx2(const uint8_t* src_ptr,
6180                                    int src_stride,
6181                                    const uint8_t* ref_ptr,
6182                                    int ref_stride,
6183                                    const uint8_t* second_pred);
6184 RTCD_EXTERN unsigned int (*vpx_sad64x64_avg)(const uint8_t* src_ptr,
6185                                              int src_stride,
6186                                              const uint8_t* ref_ptr,
6187                                              int ref_stride,
6188                                              const uint8_t* second_pred);
6189 
6190 void vpx_sad64x64x4d_c(const uint8_t* src_ptr,
6191                        int src_stride,
6192                        const uint8_t* const ref_array[],
6193                        int ref_stride,
6194                        uint32_t* sad_array);
6195 void vpx_sad64x64x4d_sse2(const uint8_t* src_ptr,
6196                           int src_stride,
6197                           const uint8_t* const ref_array[],
6198                           int ref_stride,
6199                           uint32_t* sad_array);
6200 void vpx_sad64x64x4d_avx2(const uint8_t* src_ptr,
6201                           int src_stride,
6202                           const uint8_t* const ref_array[],
6203                           int ref_stride,
6204                           uint32_t* sad_array);
6205 RTCD_EXTERN void (*vpx_sad64x64x4d)(const uint8_t* src_ptr,
6206                                     int src_stride,
6207                                     const uint8_t* const ref_array[],
6208                                     int ref_stride,
6209                                     uint32_t* sad_array);
6210 
6211 unsigned int vpx_sad8x16_c(const uint8_t* src_ptr,
6212                            int src_stride,
6213                            const uint8_t* ref_ptr,
6214                            int ref_stride);
6215 unsigned int vpx_sad8x16_sse2(const uint8_t* src_ptr,
6216                               int src_stride,
6217                               const uint8_t* ref_ptr,
6218                               int ref_stride);
6219 #define vpx_sad8x16 vpx_sad8x16_sse2
6220 
6221 unsigned int vpx_sad8x16_avg_c(const uint8_t* src_ptr,
6222                                int src_stride,
6223                                const uint8_t* ref_ptr,
6224                                int ref_stride,
6225                                const uint8_t* second_pred);
6226 unsigned int vpx_sad8x16_avg_sse2(const uint8_t* src_ptr,
6227                                   int src_stride,
6228                                   const uint8_t* ref_ptr,
6229                                   int ref_stride,
6230                                   const uint8_t* second_pred);
6231 #define vpx_sad8x16_avg vpx_sad8x16_avg_sse2
6232 
6233 void vpx_sad8x16x3_c(const uint8_t* src_ptr,
6234                      int src_stride,
6235                      const uint8_t* ref_ptr,
6236                      int ref_stride,
6237                      uint32_t* sad_array);
6238 void vpx_sad8x16x3_sse3(const uint8_t* src_ptr,
6239                         int src_stride,
6240                         const uint8_t* ref_ptr,
6241                         int ref_stride,
6242                         uint32_t* sad_array);
6243 RTCD_EXTERN void (*vpx_sad8x16x3)(const uint8_t* src_ptr,
6244                                   int src_stride,
6245                                   const uint8_t* ref_ptr,
6246                                   int ref_stride,
6247                                   uint32_t* sad_array);
6248 
6249 void vpx_sad8x16x4d_c(const uint8_t* src_ptr,
6250                       int src_stride,
6251                       const uint8_t* const ref_array[],
6252                       int ref_stride,
6253                       uint32_t* sad_array);
6254 void vpx_sad8x16x4d_sse2(const uint8_t* src_ptr,
6255                          int src_stride,
6256                          const uint8_t* const ref_array[],
6257                          int ref_stride,
6258                          uint32_t* sad_array);
6259 #define vpx_sad8x16x4d vpx_sad8x16x4d_sse2
6260 
6261 void vpx_sad8x16x8_c(const uint8_t* src_ptr,
6262                      int src_stride,
6263                      const uint8_t* ref_ptr,
6264                      int ref_stride,
6265                      uint32_t* sad_array);
6266 void vpx_sad8x16x8_sse4_1(const uint8_t* src_ptr,
6267                           int src_stride,
6268                           const uint8_t* ref_ptr,
6269                           int ref_stride,
6270                           uint32_t* sad_array);
6271 RTCD_EXTERN void (*vpx_sad8x16x8)(const uint8_t* src_ptr,
6272                                   int src_stride,
6273                                   const uint8_t* ref_ptr,
6274                                   int ref_stride,
6275                                   uint32_t* sad_array);
6276 
6277 unsigned int vpx_sad8x4_c(const uint8_t* src_ptr,
6278                           int src_stride,
6279                           const uint8_t* ref_ptr,
6280                           int ref_stride);
6281 unsigned int vpx_sad8x4_sse2(const uint8_t* src_ptr,
6282                              int src_stride,
6283                              const uint8_t* ref_ptr,
6284                              int ref_stride);
6285 #define vpx_sad8x4 vpx_sad8x4_sse2
6286 
6287 unsigned int vpx_sad8x4_avg_c(const uint8_t* src_ptr,
6288                               int src_stride,
6289                               const uint8_t* ref_ptr,
6290                               int ref_stride,
6291                               const uint8_t* second_pred);
6292 unsigned int vpx_sad8x4_avg_sse2(const uint8_t* src_ptr,
6293                                  int src_stride,
6294                                  const uint8_t* ref_ptr,
6295                                  int ref_stride,
6296                                  const uint8_t* second_pred);
6297 #define vpx_sad8x4_avg vpx_sad8x4_avg_sse2
6298 
6299 void vpx_sad8x4x4d_c(const uint8_t* src_ptr,
6300                      int src_stride,
6301                      const uint8_t* const ref_array[],
6302                      int ref_stride,
6303                      uint32_t* sad_array);
6304 void vpx_sad8x4x4d_sse2(const uint8_t* src_ptr,
6305                         int src_stride,
6306                         const uint8_t* const ref_array[],
6307                         int ref_stride,
6308                         uint32_t* sad_array);
6309 #define vpx_sad8x4x4d vpx_sad8x4x4d_sse2
6310 
6311 unsigned int vpx_sad8x8_c(const uint8_t* src_ptr,
6312                           int src_stride,
6313                           const uint8_t* ref_ptr,
6314                           int ref_stride);
6315 unsigned int vpx_sad8x8_sse2(const uint8_t* src_ptr,
6316                              int src_stride,
6317                              const uint8_t* ref_ptr,
6318                              int ref_stride);
6319 #define vpx_sad8x8 vpx_sad8x8_sse2
6320 
6321 unsigned int vpx_sad8x8_avg_c(const uint8_t* src_ptr,
6322                               int src_stride,
6323                               const uint8_t* ref_ptr,
6324                               int ref_stride,
6325                               const uint8_t* second_pred);
6326 unsigned int vpx_sad8x8_avg_sse2(const uint8_t* src_ptr,
6327                                  int src_stride,
6328                                  const uint8_t* ref_ptr,
6329                                  int ref_stride,
6330                                  const uint8_t* second_pred);
6331 #define vpx_sad8x8_avg vpx_sad8x8_avg_sse2
6332 
6333 void vpx_sad8x8x3_c(const uint8_t* src_ptr,
6334                     int src_stride,
6335                     const uint8_t* ref_ptr,
6336                     int ref_stride,
6337                     uint32_t* sad_array);
6338 void vpx_sad8x8x3_sse3(const uint8_t* src_ptr,
6339                        int src_stride,
6340                        const uint8_t* ref_ptr,
6341                        int ref_stride,
6342                        uint32_t* sad_array);
6343 RTCD_EXTERN void (*vpx_sad8x8x3)(const uint8_t* src_ptr,
6344                                  int src_stride,
6345                                  const uint8_t* ref_ptr,
6346                                  int ref_stride,
6347                                  uint32_t* sad_array);
6348 
6349 void vpx_sad8x8x4d_c(const uint8_t* src_ptr,
6350                      int src_stride,
6351                      const uint8_t* const ref_array[],
6352                      int ref_stride,
6353                      uint32_t* sad_array);
6354 void vpx_sad8x8x4d_sse2(const uint8_t* src_ptr,
6355                         int src_stride,
6356                         const uint8_t* const ref_array[],
6357                         int ref_stride,
6358                         uint32_t* sad_array);
6359 #define vpx_sad8x8x4d vpx_sad8x8x4d_sse2
6360 
6361 void vpx_sad8x8x8_c(const uint8_t* src_ptr,
6362                     int src_stride,
6363                     const uint8_t* ref_ptr,
6364                     int ref_stride,
6365                     uint32_t* sad_array);
6366 void vpx_sad8x8x8_sse4_1(const uint8_t* src_ptr,
6367                          int src_stride,
6368                          const uint8_t* ref_ptr,
6369                          int ref_stride,
6370                          uint32_t* sad_array);
6371 RTCD_EXTERN void (*vpx_sad8x8x8)(const uint8_t* src_ptr,
6372                                  int src_stride,
6373                                  const uint8_t* ref_ptr,
6374                                  int ref_stride,
6375                                  uint32_t* sad_array);
6376 
6377 int vpx_satd_c(const tran_low_t* coeff, int length);
6378 int vpx_satd_sse2(const tran_low_t* coeff, int length);
6379 int vpx_satd_avx2(const tran_low_t* coeff, int length);
6380 RTCD_EXTERN int (*vpx_satd)(const tran_low_t* coeff, int length);
6381 
6382 void vpx_scaled_2d_c(const uint8_t* src,
6383                      ptrdiff_t src_stride,
6384                      uint8_t* dst,
6385                      ptrdiff_t dst_stride,
6386                      const InterpKernel* filter,
6387                      int x0_q4,
6388                      int x_step_q4,
6389                      int y0_q4,
6390                      int y_step_q4,
6391                      int w,
6392                      int h);
6393 void vpx_scaled_2d_ssse3(const uint8_t* src,
6394                          ptrdiff_t src_stride,
6395                          uint8_t* dst,
6396                          ptrdiff_t dst_stride,
6397                          const InterpKernel* filter,
6398                          int x0_q4,
6399                          int x_step_q4,
6400                          int y0_q4,
6401                          int y_step_q4,
6402                          int w,
6403                          int h);
6404 RTCD_EXTERN void (*vpx_scaled_2d)(const uint8_t* src,
6405                                   ptrdiff_t src_stride,
6406                                   uint8_t* dst,
6407                                   ptrdiff_t dst_stride,
6408                                   const InterpKernel* filter,
6409                                   int x0_q4,
6410                                   int x_step_q4,
6411                                   int y0_q4,
6412                                   int y_step_q4,
6413                                   int w,
6414                                   int h);
6415 
6416 void vpx_scaled_avg_2d_c(const uint8_t* src,
6417                          ptrdiff_t src_stride,
6418                          uint8_t* dst,
6419                          ptrdiff_t dst_stride,
6420                          const InterpKernel* filter,
6421                          int x0_q4,
6422                          int x_step_q4,
6423                          int y0_q4,
6424                          int y_step_q4,
6425                          int w,
6426                          int h);
6427 #define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
6428 
6429 void vpx_scaled_avg_horiz_c(const uint8_t* src,
6430                             ptrdiff_t src_stride,
6431                             uint8_t* dst,
6432                             ptrdiff_t dst_stride,
6433                             const InterpKernel* filter,
6434                             int x0_q4,
6435                             int x_step_q4,
6436                             int y0_q4,
6437                             int y_step_q4,
6438                             int w,
6439                             int h);
6440 #define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
6441 
6442 void vpx_scaled_avg_vert_c(const uint8_t* src,
6443                            ptrdiff_t src_stride,
6444                            uint8_t* dst,
6445                            ptrdiff_t dst_stride,
6446                            const InterpKernel* filter,
6447                            int x0_q4,
6448                            int x_step_q4,
6449                            int y0_q4,
6450                            int y_step_q4,
6451                            int w,
6452                            int h);
6453 #define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
6454 
6455 void vpx_scaled_horiz_c(const uint8_t* src,
6456                         ptrdiff_t src_stride,
6457                         uint8_t* dst,
6458                         ptrdiff_t dst_stride,
6459                         const InterpKernel* filter,
6460                         int x0_q4,
6461                         int x_step_q4,
6462                         int y0_q4,
6463                         int y_step_q4,
6464                         int w,
6465                         int h);
6466 #define vpx_scaled_horiz vpx_scaled_horiz_c
6467 
6468 void vpx_scaled_vert_c(const uint8_t* src,
6469                        ptrdiff_t src_stride,
6470                        uint8_t* dst,
6471                        ptrdiff_t dst_stride,
6472                        const InterpKernel* filter,
6473                        int x0_q4,
6474                        int x_step_q4,
6475                        int y0_q4,
6476                        int y_step_q4,
6477                        int w,
6478                        int h);
6479 #define vpx_scaled_vert vpx_scaled_vert_c
6480 
6481 uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t* src_ptr,
6482                                            int src_stride,
6483                                            int x_offset,
6484                                            int y_offset,
6485                                            const uint8_t* ref_ptr,
6486                                            int ref_stride,
6487                                            uint32_t* sse,
6488                                            const uint8_t* second_pred);
6489 uint32_t vpx_sub_pixel_avg_variance16x16_sse2(const uint8_t* src_ptr,
6490                                               int src_stride,
6491                                               int x_offset,
6492                                               int y_offset,
6493                                               const uint8_t* ref_ptr,
6494                                               int ref_stride,
6495                                               uint32_t* sse,
6496                                               const uint8_t* second_pred);
6497 uint32_t vpx_sub_pixel_avg_variance16x16_ssse3(const uint8_t* src_ptr,
6498                                                int src_stride,
6499                                                int x_offset,
6500                                                int y_offset,
6501                                                const uint8_t* ref_ptr,
6502                                                int ref_stride,
6503                                                uint32_t* sse,
6504                                                const uint8_t* second_pred);
6505 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance16x16)(
6506     const uint8_t* src_ptr,
6507     int src_stride,
6508     int x_offset,
6509     int y_offset,
6510     const uint8_t* ref_ptr,
6511     int ref_stride,
6512     uint32_t* sse,
6513     const uint8_t* second_pred);
6514 
6515 uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t* src_ptr,
6516                                            int src_stride,
6517                                            int x_offset,
6518                                            int y_offset,
6519                                            const uint8_t* ref_ptr,
6520                                            int ref_stride,
6521                                            uint32_t* sse,
6522                                            const uint8_t* second_pred);
6523 uint32_t vpx_sub_pixel_avg_variance16x32_sse2(const uint8_t* src_ptr,
6524                                               int src_stride,
6525                                               int x_offset,
6526                                               int y_offset,
6527                                               const uint8_t* ref_ptr,
6528                                               int ref_stride,
6529                                               uint32_t* sse,
6530                                               const uint8_t* second_pred);
6531 uint32_t vpx_sub_pixel_avg_variance16x32_ssse3(const uint8_t* src_ptr,
6532                                                int src_stride,
6533                                                int x_offset,
6534                                                int y_offset,
6535                                                const uint8_t* ref_ptr,
6536                                                int ref_stride,
6537                                                uint32_t* sse,
6538                                                const uint8_t* second_pred);
6539 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance16x32)(
6540     const uint8_t* src_ptr,
6541     int src_stride,
6542     int x_offset,
6543     int y_offset,
6544     const uint8_t* ref_ptr,
6545     int ref_stride,
6546     uint32_t* sse,
6547     const uint8_t* second_pred);
6548 
6549 uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr,
6550                                           int src_stride,
6551                                           int x_offset,
6552                                           int y_offset,
6553                                           const uint8_t* ref_ptr,
6554                                           int ref_stride,
6555                                           uint32_t* sse,
6556                                           const uint8_t* second_pred);
6557 uint32_t vpx_sub_pixel_avg_variance16x8_sse2(const uint8_t* src_ptr,
6558                                              int src_stride,
6559                                              int x_offset,
6560                                              int y_offset,
6561                                              const uint8_t* ref_ptr,
6562                                              int ref_stride,
6563                                              uint32_t* sse,
6564                                              const uint8_t* second_pred);
6565 uint32_t vpx_sub_pixel_avg_variance16x8_ssse3(const uint8_t* src_ptr,
6566                                               int src_stride,
6567                                               int x_offset,
6568                                               int y_offset,
6569                                               const uint8_t* ref_ptr,
6570                                               int ref_stride,
6571                                               uint32_t* sse,
6572                                               const uint8_t* second_pred);
6573 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance16x8)(
6574     const uint8_t* src_ptr,
6575     int src_stride,
6576     int x_offset,
6577     int y_offset,
6578     const uint8_t* ref_ptr,
6579     int ref_stride,
6580     uint32_t* sse,
6581     const uint8_t* second_pred);
6582 
6583 uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t* src_ptr,
6584                                            int src_stride,
6585                                            int x_offset,
6586                                            int y_offset,
6587                                            const uint8_t* ref_ptr,
6588                                            int ref_stride,
6589                                            uint32_t* sse,
6590                                            const uint8_t* second_pred);
6591 uint32_t vpx_sub_pixel_avg_variance32x16_sse2(const uint8_t* src_ptr,
6592                                               int src_stride,
6593                                               int x_offset,
6594                                               int y_offset,
6595                                               const uint8_t* ref_ptr,
6596                                               int ref_stride,
6597                                               uint32_t* sse,
6598                                               const uint8_t* second_pred);
6599 uint32_t vpx_sub_pixel_avg_variance32x16_ssse3(const uint8_t* src_ptr,
6600                                                int src_stride,
6601                                                int x_offset,
6602                                                int y_offset,
6603                                                const uint8_t* ref_ptr,
6604                                                int ref_stride,
6605                                                uint32_t* sse,
6606                                                const uint8_t* second_pred);
6607 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance32x16)(
6608     const uint8_t* src_ptr,
6609     int src_stride,
6610     int x_offset,
6611     int y_offset,
6612     const uint8_t* ref_ptr,
6613     int ref_stride,
6614     uint32_t* sse,
6615     const uint8_t* second_pred);
6616 
6617 uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t* src_ptr,
6618                                            int src_stride,
6619                                            int x_offset,
6620                                            int y_offset,
6621                                            const uint8_t* ref_ptr,
6622                                            int ref_stride,
6623                                            uint32_t* sse,
6624                                            const uint8_t* second_pred);
6625 uint32_t vpx_sub_pixel_avg_variance32x32_sse2(const uint8_t* src_ptr,
6626                                               int src_stride,
6627                                               int x_offset,
6628                                               int y_offset,
6629                                               const uint8_t* ref_ptr,
6630                                               int ref_stride,
6631                                               uint32_t* sse,
6632                                               const uint8_t* second_pred);
6633 uint32_t vpx_sub_pixel_avg_variance32x32_ssse3(const uint8_t* src_ptr,
6634                                                int src_stride,
6635                                                int x_offset,
6636                                                int y_offset,
6637                                                const uint8_t* ref_ptr,
6638                                                int ref_stride,
6639                                                uint32_t* sse,
6640                                                const uint8_t* second_pred);
6641 uint32_t vpx_sub_pixel_avg_variance32x32_avx2(const uint8_t* src_ptr,
6642                                               int src_stride,
6643                                               int x_offset,
6644                                               int y_offset,
6645                                               const uint8_t* ref_ptr,
6646                                               int ref_stride,
6647                                               uint32_t* sse,
6648                                               const uint8_t* second_pred);
6649 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance32x32)(
6650     const uint8_t* src_ptr,
6651     int src_stride,
6652     int x_offset,
6653     int y_offset,
6654     const uint8_t* ref_ptr,
6655     int ref_stride,
6656     uint32_t* sse,
6657     const uint8_t* second_pred);
6658 
6659 uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t* src_ptr,
6660                                            int src_stride,
6661                                            int x_offset,
6662                                            int y_offset,
6663                                            const uint8_t* ref_ptr,
6664                                            int ref_stride,
6665                                            uint32_t* sse,
6666                                            const uint8_t* second_pred);
6667 uint32_t vpx_sub_pixel_avg_variance32x64_sse2(const uint8_t* src_ptr,
6668                                               int src_stride,
6669                                               int x_offset,
6670                                               int y_offset,
6671                                               const uint8_t* ref_ptr,
6672                                               int ref_stride,
6673                                               uint32_t* sse,
6674                                               const uint8_t* second_pred);
6675 uint32_t vpx_sub_pixel_avg_variance32x64_ssse3(const uint8_t* src_ptr,
6676                                                int src_stride,
6677                                                int x_offset,
6678                                                int y_offset,
6679                                                const uint8_t* ref_ptr,
6680                                                int ref_stride,
6681                                                uint32_t* sse,
6682                                                const uint8_t* second_pred);
6683 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance32x64)(
6684     const uint8_t* src_ptr,
6685     int src_stride,
6686     int x_offset,
6687     int y_offset,
6688     const uint8_t* ref_ptr,
6689     int ref_stride,
6690     uint32_t* sse,
6691     const uint8_t* second_pred);
6692 
6693 uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr,
6694                                          int src_stride,
6695                                          int x_offset,
6696                                          int y_offset,
6697                                          const uint8_t* ref_ptr,
6698                                          int ref_stride,
6699                                          uint32_t* sse,
6700                                          const uint8_t* second_pred);
6701 uint32_t vpx_sub_pixel_avg_variance4x4_sse2(const uint8_t* src_ptr,
6702                                             int src_stride,
6703                                             int x_offset,
6704                                             int y_offset,
6705                                             const uint8_t* ref_ptr,
6706                                             int ref_stride,
6707                                             uint32_t* sse,
6708                                             const uint8_t* second_pred);
6709 uint32_t vpx_sub_pixel_avg_variance4x4_ssse3(const uint8_t* src_ptr,
6710                                              int src_stride,
6711                                              int x_offset,
6712                                              int y_offset,
6713                                              const uint8_t* ref_ptr,
6714                                              int ref_stride,
6715                                              uint32_t* sse,
6716                                              const uint8_t* second_pred);
6717 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance4x4)(
6718     const uint8_t* src_ptr,
6719     int src_stride,
6720     int x_offset,
6721     int y_offset,
6722     const uint8_t* ref_ptr,
6723     int ref_stride,
6724     uint32_t* sse,
6725     const uint8_t* second_pred);
6726 
6727 uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr,
6728                                          int src_stride,
6729                                          int x_offset,
6730                                          int y_offset,
6731                                          const uint8_t* ref_ptr,
6732                                          int ref_stride,
6733                                          uint32_t* sse,
6734                                          const uint8_t* second_pred);
6735 uint32_t vpx_sub_pixel_avg_variance4x8_sse2(const uint8_t* src_ptr,
6736                                             int src_stride,
6737                                             int x_offset,
6738                                             int y_offset,
6739                                             const uint8_t* ref_ptr,
6740                                             int ref_stride,
6741                                             uint32_t* sse,
6742                                             const uint8_t* second_pred);
6743 uint32_t vpx_sub_pixel_avg_variance4x8_ssse3(const uint8_t* src_ptr,
6744                                              int src_stride,
6745                                              int x_offset,
6746                                              int y_offset,
6747                                              const uint8_t* ref_ptr,
6748                                              int ref_stride,
6749                                              uint32_t* sse,
6750                                              const uint8_t* second_pred);
6751 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance4x8)(
6752     const uint8_t* src_ptr,
6753     int src_stride,
6754     int x_offset,
6755     int y_offset,
6756     const uint8_t* ref_ptr,
6757     int ref_stride,
6758     uint32_t* sse,
6759     const uint8_t* second_pred);
6760 
6761 uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t* src_ptr,
6762                                            int src_stride,
6763                                            int x_offset,
6764                                            int y_offset,
6765                                            const uint8_t* ref_ptr,
6766                                            int ref_stride,
6767                                            uint32_t* sse,
6768                                            const uint8_t* second_pred);
6769 uint32_t vpx_sub_pixel_avg_variance64x32_sse2(const uint8_t* src_ptr,
6770                                               int src_stride,
6771                                               int x_offset,
6772                                               int y_offset,
6773                                               const uint8_t* ref_ptr,
6774                                               int ref_stride,
6775                                               uint32_t* sse,
6776                                               const uint8_t* second_pred);
6777 uint32_t vpx_sub_pixel_avg_variance64x32_ssse3(const uint8_t* src_ptr,
6778                                                int src_stride,
6779                                                int x_offset,
6780                                                int y_offset,
6781                                                const uint8_t* ref_ptr,
6782                                                int ref_stride,
6783                                                uint32_t* sse,
6784                                                const uint8_t* second_pred);
6785 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance64x32)(
6786     const uint8_t* src_ptr,
6787     int src_stride,
6788     int x_offset,
6789     int y_offset,
6790     const uint8_t* ref_ptr,
6791     int ref_stride,
6792     uint32_t* sse,
6793     const uint8_t* second_pred);
6794 
6795 uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t* src_ptr,
6796                                            int src_stride,
6797                                            int x_offset,
6798                                            int y_offset,
6799                                            const uint8_t* ref_ptr,
6800                                            int ref_stride,
6801                                            uint32_t* sse,
6802                                            const uint8_t* second_pred);
6803 uint32_t vpx_sub_pixel_avg_variance64x64_sse2(const uint8_t* src_ptr,
6804                                               int src_stride,
6805                                               int x_offset,
6806                                               int y_offset,
6807                                               const uint8_t* ref_ptr,
6808                                               int ref_stride,
6809                                               uint32_t* sse,
6810                                               const uint8_t* second_pred);
6811 uint32_t vpx_sub_pixel_avg_variance64x64_ssse3(const uint8_t* src_ptr,
6812                                                int src_stride,
6813                                                int x_offset,
6814                                                int y_offset,
6815                                                const uint8_t* ref_ptr,
6816                                                int ref_stride,
6817                                                uint32_t* sse,
6818                                                const uint8_t* second_pred);
6819 uint32_t vpx_sub_pixel_avg_variance64x64_avx2(const uint8_t* src_ptr,
6820                                               int src_stride,
6821                                               int x_offset,
6822                                               int y_offset,
6823                                               const uint8_t* ref_ptr,
6824                                               int ref_stride,
6825                                               uint32_t* sse,
6826                                               const uint8_t* second_pred);
6827 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance64x64)(
6828     const uint8_t* src_ptr,
6829     int src_stride,
6830     int x_offset,
6831     int y_offset,
6832     const uint8_t* ref_ptr,
6833     int ref_stride,
6834     uint32_t* sse,
6835     const uint8_t* second_pred);
6836 
6837 uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr,
6838                                           int src_stride,
6839                                           int x_offset,
6840                                           int y_offset,
6841                                           const uint8_t* ref_ptr,
6842                                           int ref_stride,
6843                                           uint32_t* sse,
6844                                           const uint8_t* second_pred);
6845 uint32_t vpx_sub_pixel_avg_variance8x16_sse2(const uint8_t* src_ptr,
6846                                              int src_stride,
6847                                              int x_offset,
6848                                              int y_offset,
6849                                              const uint8_t* ref_ptr,
6850                                              int ref_stride,
6851                                              uint32_t* sse,
6852                                              const uint8_t* second_pred);
6853 uint32_t vpx_sub_pixel_avg_variance8x16_ssse3(const uint8_t* src_ptr,
6854                                               int src_stride,
6855                                               int x_offset,
6856                                               int y_offset,
6857                                               const uint8_t* ref_ptr,
6858                                               int ref_stride,
6859                                               uint32_t* sse,
6860                                               const uint8_t* second_pred);
6861 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance8x16)(
6862     const uint8_t* src_ptr,
6863     int src_stride,
6864     int x_offset,
6865     int y_offset,
6866     const uint8_t* ref_ptr,
6867     int ref_stride,
6868     uint32_t* sse,
6869     const uint8_t* second_pred);
6870 
6871 uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr,
6872                                          int src_stride,
6873                                          int x_offset,
6874                                          int y_offset,
6875                                          const uint8_t* ref_ptr,
6876                                          int ref_stride,
6877                                          uint32_t* sse,
6878                                          const uint8_t* second_pred);
6879 uint32_t vpx_sub_pixel_avg_variance8x4_sse2(const uint8_t* src_ptr,
6880                                             int src_stride,
6881                                             int x_offset,
6882                                             int y_offset,
6883                                             const uint8_t* ref_ptr,
6884                                             int ref_stride,
6885                                             uint32_t* sse,
6886                                             const uint8_t* second_pred);
6887 uint32_t vpx_sub_pixel_avg_variance8x4_ssse3(const uint8_t* src_ptr,
6888                                              int src_stride,
6889                                              int x_offset,
6890                                              int y_offset,
6891                                              const uint8_t* ref_ptr,
6892                                              int ref_stride,
6893                                              uint32_t* sse,
6894                                              const uint8_t* second_pred);
6895 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance8x4)(
6896     const uint8_t* src_ptr,
6897     int src_stride,
6898     int x_offset,
6899     int y_offset,
6900     const uint8_t* ref_ptr,
6901     int ref_stride,
6902     uint32_t* sse,
6903     const uint8_t* second_pred);
6904 
6905 uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr,
6906                                          int src_stride,
6907                                          int x_offset,
6908                                          int y_offset,
6909                                          const uint8_t* ref_ptr,
6910                                          int ref_stride,
6911                                          uint32_t* sse,
6912                                          const uint8_t* second_pred);
6913 uint32_t vpx_sub_pixel_avg_variance8x8_sse2(const uint8_t* src_ptr,
6914                                             int src_stride,
6915                                             int x_offset,
6916                                             int y_offset,
6917                                             const uint8_t* ref_ptr,
6918                                             int ref_stride,
6919                                             uint32_t* sse,
6920                                             const uint8_t* second_pred);
6921 uint32_t vpx_sub_pixel_avg_variance8x8_ssse3(const uint8_t* src_ptr,
6922                                              int src_stride,
6923                                              int x_offset,
6924                                              int y_offset,
6925                                              const uint8_t* ref_ptr,
6926                                              int ref_stride,
6927                                              uint32_t* sse,
6928                                              const uint8_t* second_pred);
6929 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance8x8)(
6930     const uint8_t* src_ptr,
6931     int src_stride,
6932     int x_offset,
6933     int y_offset,
6934     const uint8_t* ref_ptr,
6935     int ref_stride,
6936     uint32_t* sse,
6937     const uint8_t* second_pred);
6938 
6939 uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t* src_ptr,
6940                                        int src_stride,
6941                                        int x_offset,
6942                                        int y_offset,
6943                                        const uint8_t* ref_ptr,
6944                                        int ref_stride,
6945                                        uint32_t* sse);
6946 uint32_t vpx_sub_pixel_variance16x16_sse2(const uint8_t* src_ptr,
6947                                           int src_stride,
6948                                           int x_offset,
6949                                           int y_offset,
6950                                           const uint8_t* ref_ptr,
6951                                           int ref_stride,
6952                                           uint32_t* sse);
6953 uint32_t vpx_sub_pixel_variance16x16_ssse3(const uint8_t* src_ptr,
6954                                            int src_stride,
6955                                            int x_offset,
6956                                            int y_offset,
6957                                            const uint8_t* ref_ptr,
6958                                            int ref_stride,
6959                                            uint32_t* sse);
6960 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x16)(const uint8_t* src_ptr,
6961                                                     int src_stride,
6962                                                     int x_offset,
6963                                                     int y_offset,
6964                                                     const uint8_t* ref_ptr,
6965                                                     int ref_stride,
6966                                                     uint32_t* sse);
6967 
6968 uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t* src_ptr,
6969                                        int src_stride,
6970                                        int x_offset,
6971                                        int y_offset,
6972                                        const uint8_t* ref_ptr,
6973                                        int ref_stride,
6974                                        uint32_t* sse);
6975 uint32_t vpx_sub_pixel_variance16x32_sse2(const uint8_t* src_ptr,
6976                                           int src_stride,
6977                                           int x_offset,
6978                                           int y_offset,
6979                                           const uint8_t* ref_ptr,
6980                                           int ref_stride,
6981                                           uint32_t* sse);
6982 uint32_t vpx_sub_pixel_variance16x32_ssse3(const uint8_t* src_ptr,
6983                                            int src_stride,
6984                                            int x_offset,
6985                                            int y_offset,
6986                                            const uint8_t* ref_ptr,
6987                                            int ref_stride,
6988                                            uint32_t* sse);
6989 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x32)(const uint8_t* src_ptr,
6990                                                     int src_stride,
6991                                                     int x_offset,
6992                                                     int y_offset,
6993                                                     const uint8_t* ref_ptr,
6994                                                     int ref_stride,
6995                                                     uint32_t* sse);
6996 
6997 uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t* src_ptr,
6998                                       int src_stride,
6999                                       int x_offset,
7000                                       int y_offset,
7001                                       const uint8_t* ref_ptr,
7002                                       int ref_stride,
7003                                       uint32_t* sse);
7004 uint32_t vpx_sub_pixel_variance16x8_sse2(const uint8_t* src_ptr,
7005                                          int src_stride,
7006                                          int x_offset,
7007                                          int y_offset,
7008                                          const uint8_t* ref_ptr,
7009                                          int ref_stride,
7010                                          uint32_t* sse);
7011 uint32_t vpx_sub_pixel_variance16x8_ssse3(const uint8_t* src_ptr,
7012                                           int src_stride,
7013                                           int x_offset,
7014                                           int y_offset,
7015                                           const uint8_t* ref_ptr,
7016                                           int ref_stride,
7017                                           uint32_t* sse);
7018 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x8)(const uint8_t* src_ptr,
7019                                                    int src_stride,
7020                                                    int x_offset,
7021                                                    int y_offset,
7022                                                    const uint8_t* ref_ptr,
7023                                                    int ref_stride,
7024                                                    uint32_t* sse);
7025 
7026 uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t* src_ptr,
7027                                        int src_stride,
7028                                        int x_offset,
7029                                        int y_offset,
7030                                        const uint8_t* ref_ptr,
7031                                        int ref_stride,
7032                                        uint32_t* sse);
7033 uint32_t vpx_sub_pixel_variance32x16_sse2(const uint8_t* src_ptr,
7034                                           int src_stride,
7035                                           int x_offset,
7036                                           int y_offset,
7037                                           const uint8_t* ref_ptr,
7038                                           int ref_stride,
7039                                           uint32_t* sse);
7040 uint32_t vpx_sub_pixel_variance32x16_ssse3(const uint8_t* src_ptr,
7041                                            int src_stride,
7042                                            int x_offset,
7043                                            int y_offset,
7044                                            const uint8_t* ref_ptr,
7045                                            int ref_stride,
7046                                            uint32_t* sse);
7047 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x16)(const uint8_t* src_ptr,
7048                                                     int src_stride,
7049                                                     int x_offset,
7050                                                     int y_offset,
7051                                                     const uint8_t* ref_ptr,
7052                                                     int ref_stride,
7053                                                     uint32_t* sse);
7054 
7055 uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t* src_ptr,
7056                                        int src_stride,
7057                                        int x_offset,
7058                                        int y_offset,
7059                                        const uint8_t* ref_ptr,
7060                                        int ref_stride,
7061                                        uint32_t* sse);
7062 uint32_t vpx_sub_pixel_variance32x32_sse2(const uint8_t* src_ptr,
7063                                           int src_stride,
7064                                           int x_offset,
7065                                           int y_offset,
7066                                           const uint8_t* ref_ptr,
7067                                           int ref_stride,
7068                                           uint32_t* sse);
7069 uint32_t vpx_sub_pixel_variance32x32_ssse3(const uint8_t* src_ptr,
7070                                            int src_stride,
7071                                            int x_offset,
7072                                            int y_offset,
7073                                            const uint8_t* ref_ptr,
7074                                            int ref_stride,
7075                                            uint32_t* sse);
7076 uint32_t vpx_sub_pixel_variance32x32_avx2(const uint8_t* src_ptr,
7077                                           int src_stride,
7078                                           int x_offset,
7079                                           int y_offset,
7080                                           const uint8_t* ref_ptr,
7081                                           int ref_stride,
7082                                           uint32_t* sse);
7083 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x32)(const uint8_t* src_ptr,
7084                                                     int src_stride,
7085                                                     int x_offset,
7086                                                     int y_offset,
7087                                                     const uint8_t* ref_ptr,
7088                                                     int ref_stride,
7089                                                     uint32_t* sse);
7090 
7091 uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t* src_ptr,
7092                                        int src_stride,
7093                                        int x_offset,
7094                                        int y_offset,
7095                                        const uint8_t* ref_ptr,
7096                                        int ref_stride,
7097                                        uint32_t* sse);
7098 uint32_t vpx_sub_pixel_variance32x64_sse2(const uint8_t* src_ptr,
7099                                           int src_stride,
7100                                           int x_offset,
7101                                           int y_offset,
7102                                           const uint8_t* ref_ptr,
7103                                           int ref_stride,
7104                                           uint32_t* sse);
7105 uint32_t vpx_sub_pixel_variance32x64_ssse3(const uint8_t* src_ptr,
7106                                            int src_stride,
7107                                            int x_offset,
7108                                            int y_offset,
7109                                            const uint8_t* ref_ptr,
7110                                            int ref_stride,
7111                                            uint32_t* sse);
7112 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x64)(const uint8_t* src_ptr,
7113                                                     int src_stride,
7114                                                     int x_offset,
7115                                                     int y_offset,
7116                                                     const uint8_t* ref_ptr,
7117                                                     int ref_stride,
7118                                                     uint32_t* sse);
7119 
7120 uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t* src_ptr,
7121                                      int src_stride,
7122                                      int x_offset,
7123                                      int y_offset,
7124                                      const uint8_t* ref_ptr,
7125                                      int ref_stride,
7126                                      uint32_t* sse);
7127 uint32_t vpx_sub_pixel_variance4x4_sse2(const uint8_t* src_ptr,
7128                                         int src_stride,
7129                                         int x_offset,
7130                                         int y_offset,
7131                                         const uint8_t* ref_ptr,
7132                                         int ref_stride,
7133                                         uint32_t* sse);
7134 uint32_t vpx_sub_pixel_variance4x4_ssse3(const uint8_t* src_ptr,
7135                                          int src_stride,
7136                                          int x_offset,
7137                                          int y_offset,
7138                                          const uint8_t* ref_ptr,
7139                                          int ref_stride,
7140                                          uint32_t* sse);
7141 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance4x4)(const uint8_t* src_ptr,
7142                                                   int src_stride,
7143                                                   int x_offset,
7144                                                   int y_offset,
7145                                                   const uint8_t* ref_ptr,
7146                                                   int ref_stride,
7147                                                   uint32_t* sse);
7148 
7149 uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t* src_ptr,
7150                                      int src_stride,
7151                                      int x_offset,
7152                                      int y_offset,
7153                                      const uint8_t* ref_ptr,
7154                                      int ref_stride,
7155                                      uint32_t* sse);
7156 uint32_t vpx_sub_pixel_variance4x8_sse2(const uint8_t* src_ptr,
7157                                         int src_stride,
7158                                         int x_offset,
7159                                         int y_offset,
7160                                         const uint8_t* ref_ptr,
7161                                         int ref_stride,
7162                                         uint32_t* sse);
7163 uint32_t vpx_sub_pixel_variance4x8_ssse3(const uint8_t* src_ptr,
7164                                          int src_stride,
7165                                          int x_offset,
7166                                          int y_offset,
7167                                          const uint8_t* ref_ptr,
7168                                          int ref_stride,
7169                                          uint32_t* sse);
7170 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance4x8)(const uint8_t* src_ptr,
7171                                                   int src_stride,
7172                                                   int x_offset,
7173                                                   int y_offset,
7174                                                   const uint8_t* ref_ptr,
7175                                                   int ref_stride,
7176                                                   uint32_t* sse);
7177 
7178 uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t* src_ptr,
7179                                        int src_stride,
7180                                        int x_offset,
7181                                        int y_offset,
7182                                        const uint8_t* ref_ptr,
7183                                        int ref_stride,
7184                                        uint32_t* sse);
7185 uint32_t vpx_sub_pixel_variance64x32_sse2(const uint8_t* src_ptr,
7186                                           int src_stride,
7187                                           int x_offset,
7188                                           int y_offset,
7189                                           const uint8_t* ref_ptr,
7190                                           int ref_stride,
7191                                           uint32_t* sse);
7192 uint32_t vpx_sub_pixel_variance64x32_ssse3(const uint8_t* src_ptr,
7193                                            int src_stride,
7194                                            int x_offset,
7195                                            int y_offset,
7196                                            const uint8_t* ref_ptr,
7197                                            int ref_stride,
7198                                            uint32_t* sse);
7199 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance64x32)(const uint8_t* src_ptr,
7200                                                     int src_stride,
7201                                                     int x_offset,
7202                                                     int y_offset,
7203                                                     const uint8_t* ref_ptr,
7204                                                     int ref_stride,
7205                                                     uint32_t* sse);
7206 
7207 uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t* src_ptr,
7208                                        int src_stride,
7209                                        int x_offset,
7210                                        int y_offset,
7211                                        const uint8_t* ref_ptr,
7212                                        int ref_stride,
7213                                        uint32_t* sse);
7214 uint32_t vpx_sub_pixel_variance64x64_sse2(const uint8_t* src_ptr,
7215                                           int src_stride,
7216                                           int x_offset,
7217                                           int y_offset,
7218                                           const uint8_t* ref_ptr,
7219                                           int ref_stride,
7220                                           uint32_t* sse);
7221 uint32_t vpx_sub_pixel_variance64x64_ssse3(const uint8_t* src_ptr,
7222                                            int src_stride,
7223                                            int x_offset,
7224                                            int y_offset,
7225                                            const uint8_t* ref_ptr,
7226                                            int ref_stride,
7227                                            uint32_t* sse);
7228 uint32_t vpx_sub_pixel_variance64x64_avx2(const uint8_t* src_ptr,
7229                                           int src_stride,
7230                                           int x_offset,
7231                                           int y_offset,
7232                                           const uint8_t* ref_ptr,
7233                                           int ref_stride,
7234                                           uint32_t* sse);
7235 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance64x64)(const uint8_t* src_ptr,
7236                                                     int src_stride,
7237                                                     int x_offset,
7238                                                     int y_offset,
7239                                                     const uint8_t* ref_ptr,
7240                                                     int ref_stride,
7241                                                     uint32_t* sse);
7242 
7243 uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t* src_ptr,
7244                                       int src_stride,
7245                                       int x_offset,
7246                                       int y_offset,
7247                                       const uint8_t* ref_ptr,
7248                                       int ref_stride,
7249                                       uint32_t* sse);
7250 uint32_t vpx_sub_pixel_variance8x16_sse2(const uint8_t* src_ptr,
7251                                          int src_stride,
7252                                          int x_offset,
7253                                          int y_offset,
7254                                          const uint8_t* ref_ptr,
7255                                          int ref_stride,
7256                                          uint32_t* sse);
7257 uint32_t vpx_sub_pixel_variance8x16_ssse3(const uint8_t* src_ptr,
7258                                           int src_stride,
7259                                           int x_offset,
7260                                           int y_offset,
7261                                           const uint8_t* ref_ptr,
7262                                           int ref_stride,
7263                                           uint32_t* sse);
7264 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x16)(const uint8_t* src_ptr,
7265                                                    int src_stride,
7266                                                    int x_offset,
7267                                                    int y_offset,
7268                                                    const uint8_t* ref_ptr,
7269                                                    int ref_stride,
7270                                                    uint32_t* sse);
7271 
7272 uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t* src_ptr,
7273                                      int src_stride,
7274                                      int x_offset,
7275                                      int y_offset,
7276                                      const uint8_t* ref_ptr,
7277                                      int ref_stride,
7278                                      uint32_t* sse);
7279 uint32_t vpx_sub_pixel_variance8x4_sse2(const uint8_t* src_ptr,
7280                                         int src_stride,
7281                                         int x_offset,
7282                                         int y_offset,
7283                                         const uint8_t* ref_ptr,
7284                                         int ref_stride,
7285                                         uint32_t* sse);
7286 uint32_t vpx_sub_pixel_variance8x4_ssse3(const uint8_t* src_ptr,
7287                                          int src_stride,
7288                                          int x_offset,
7289                                          int y_offset,
7290                                          const uint8_t* ref_ptr,
7291                                          int ref_stride,
7292                                          uint32_t* sse);
7293 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x4)(const uint8_t* src_ptr,
7294                                                   int src_stride,
7295                                                   int x_offset,
7296                                                   int y_offset,
7297                                                   const uint8_t* ref_ptr,
7298                                                   int ref_stride,
7299                                                   uint32_t* sse);
7300 
7301 uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t* src_ptr,
7302                                      int src_stride,
7303                                      int x_offset,
7304                                      int y_offset,
7305                                      const uint8_t* ref_ptr,
7306                                      int ref_stride,
7307                                      uint32_t* sse);
7308 uint32_t vpx_sub_pixel_variance8x8_sse2(const uint8_t* src_ptr,
7309                                         int src_stride,
7310                                         int x_offset,
7311                                         int y_offset,
7312                                         const uint8_t* ref_ptr,
7313                                         int ref_stride,
7314                                         uint32_t* sse);
7315 uint32_t vpx_sub_pixel_variance8x8_ssse3(const uint8_t* src_ptr,
7316                                          int src_stride,
7317                                          int x_offset,
7318                                          int y_offset,
7319                                          const uint8_t* ref_ptr,
7320                                          int ref_stride,
7321                                          uint32_t* sse);
7322 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x8)(const uint8_t* src_ptr,
7323                                                   int src_stride,
7324                                                   int x_offset,
7325                                                   int y_offset,
7326                                                   const uint8_t* ref_ptr,
7327                                                   int ref_stride,
7328                                                   uint32_t* sse);
7329 
7330 void vpx_subtract_block_c(int rows,
7331                           int cols,
7332                           int16_t* diff_ptr,
7333                           ptrdiff_t diff_stride,
7334                           const uint8_t* src_ptr,
7335                           ptrdiff_t src_stride,
7336                           const uint8_t* pred_ptr,
7337                           ptrdiff_t pred_stride);
7338 void vpx_subtract_block_sse2(int rows,
7339                              int cols,
7340                              int16_t* diff_ptr,
7341                              ptrdiff_t diff_stride,
7342                              const uint8_t* src_ptr,
7343                              ptrdiff_t src_stride,
7344                              const uint8_t* pred_ptr,
7345                              ptrdiff_t pred_stride);
7346 #define vpx_subtract_block vpx_subtract_block_sse2
7347 
7348 uint64_t vpx_sum_squares_2d_i16_c(const int16_t* src, int stride, int size);
7349 uint64_t vpx_sum_squares_2d_i16_sse2(const int16_t* src, int stride, int size);
7350 #define vpx_sum_squares_2d_i16 vpx_sum_squares_2d_i16_sse2
7351 
7352 void vpx_tm_predictor_16x16_c(uint8_t* dst,
7353                               ptrdiff_t stride,
7354                               const uint8_t* above,
7355                               const uint8_t* left);
7356 void vpx_tm_predictor_16x16_sse2(uint8_t* dst,
7357                                  ptrdiff_t stride,
7358                                  const uint8_t* above,
7359                                  const uint8_t* left);
7360 #define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_sse2
7361 
7362 void vpx_tm_predictor_32x32_c(uint8_t* dst,
7363                               ptrdiff_t stride,
7364                               const uint8_t* above,
7365                               const uint8_t* left);
7366 void vpx_tm_predictor_32x32_sse2(uint8_t* dst,
7367                                  ptrdiff_t stride,
7368                                  const uint8_t* above,
7369                                  const uint8_t* left);
7370 #define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_sse2
7371 
7372 void vpx_tm_predictor_4x4_c(uint8_t* dst,
7373                             ptrdiff_t stride,
7374                             const uint8_t* above,
7375                             const uint8_t* left);
7376 void vpx_tm_predictor_4x4_sse2(uint8_t* dst,
7377                                ptrdiff_t stride,
7378                                const uint8_t* above,
7379                                const uint8_t* left);
7380 #define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_sse2
7381 
7382 void vpx_tm_predictor_8x8_c(uint8_t* dst,
7383                             ptrdiff_t stride,
7384                             const uint8_t* above,
7385                             const uint8_t* left);
7386 void vpx_tm_predictor_8x8_sse2(uint8_t* dst,
7387                                ptrdiff_t stride,
7388                                const uint8_t* above,
7389                                const uint8_t* left);
7390 #define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_sse2
7391 
7392 void vpx_v_predictor_16x16_c(uint8_t* dst,
7393                              ptrdiff_t stride,
7394                              const uint8_t* above,
7395                              const uint8_t* left);
7396 void vpx_v_predictor_16x16_sse2(uint8_t* dst,
7397                                 ptrdiff_t stride,
7398                                 const uint8_t* above,
7399                                 const uint8_t* left);
7400 #define vpx_v_predictor_16x16 vpx_v_predictor_16x16_sse2
7401 
7402 void vpx_v_predictor_32x32_c(uint8_t* dst,
7403                              ptrdiff_t stride,
7404                              const uint8_t* above,
7405                              const uint8_t* left);
7406 void vpx_v_predictor_32x32_sse2(uint8_t* dst,
7407                                 ptrdiff_t stride,
7408                                 const uint8_t* above,
7409                                 const uint8_t* left);
7410 #define vpx_v_predictor_32x32 vpx_v_predictor_32x32_sse2
7411 
7412 void vpx_v_predictor_4x4_c(uint8_t* dst,
7413                            ptrdiff_t stride,
7414                            const uint8_t* above,
7415                            const uint8_t* left);
7416 void vpx_v_predictor_4x4_sse2(uint8_t* dst,
7417                               ptrdiff_t stride,
7418                               const uint8_t* above,
7419                               const uint8_t* left);
7420 #define vpx_v_predictor_4x4 vpx_v_predictor_4x4_sse2
7421 
7422 void vpx_v_predictor_8x8_c(uint8_t* dst,
7423                            ptrdiff_t stride,
7424                            const uint8_t* above,
7425                            const uint8_t* left);
7426 void vpx_v_predictor_8x8_sse2(uint8_t* dst,
7427                               ptrdiff_t stride,
7428                               const uint8_t* above,
7429                               const uint8_t* left);
7430 #define vpx_v_predictor_8x8 vpx_v_predictor_8x8_sse2
7431 
7432 unsigned int vpx_variance16x16_c(const uint8_t* src_ptr,
7433                                  int src_stride,
7434                                  const uint8_t* ref_ptr,
7435                                  int ref_stride,
7436                                  unsigned int* sse);
7437 unsigned int vpx_variance16x16_sse2(const uint8_t* src_ptr,
7438                                     int src_stride,
7439                                     const uint8_t* ref_ptr,
7440                                     int ref_stride,
7441                                     unsigned int* sse);
7442 unsigned int vpx_variance16x16_avx2(const uint8_t* src_ptr,
7443                                     int src_stride,
7444                                     const uint8_t* ref_ptr,
7445                                     int ref_stride,
7446                                     unsigned int* sse);
7447 RTCD_EXTERN unsigned int (*vpx_variance16x16)(const uint8_t* src_ptr,
7448                                               int src_stride,
7449                                               const uint8_t* ref_ptr,
7450                                               int ref_stride,
7451                                               unsigned int* sse);
7452 
7453 unsigned int vpx_variance16x32_c(const uint8_t* src_ptr,
7454                                  int src_stride,
7455                                  const uint8_t* ref_ptr,
7456                                  int ref_stride,
7457                                  unsigned int* sse);
7458 unsigned int vpx_variance16x32_sse2(const uint8_t* src_ptr,
7459                                     int src_stride,
7460                                     const uint8_t* ref_ptr,
7461                                     int ref_stride,
7462                                     unsigned int* sse);
7463 unsigned int vpx_variance16x32_avx2(const uint8_t* src_ptr,
7464                                     int src_stride,
7465                                     const uint8_t* ref_ptr,
7466                                     int ref_stride,
7467                                     unsigned int* sse);
7468 RTCD_EXTERN unsigned int (*vpx_variance16x32)(const uint8_t* src_ptr,
7469                                               int src_stride,
7470                                               const uint8_t* ref_ptr,
7471                                               int ref_stride,
7472                                               unsigned int* sse);
7473 
7474 unsigned int vpx_variance16x8_c(const uint8_t* src_ptr,
7475                                 int src_stride,
7476                                 const uint8_t* ref_ptr,
7477                                 int ref_stride,
7478                                 unsigned int* sse);
7479 unsigned int vpx_variance16x8_sse2(const uint8_t* src_ptr,
7480                                    int src_stride,
7481                                    const uint8_t* ref_ptr,
7482                                    int ref_stride,
7483                                    unsigned int* sse);
7484 unsigned int vpx_variance16x8_avx2(const uint8_t* src_ptr,
7485                                    int src_stride,
7486                                    const uint8_t* ref_ptr,
7487                                    int ref_stride,
7488                                    unsigned int* sse);
7489 RTCD_EXTERN unsigned int (*vpx_variance16x8)(const uint8_t* src_ptr,
7490                                              int src_stride,
7491                                              const uint8_t* ref_ptr,
7492                                              int ref_stride,
7493                                              unsigned int* sse);
7494 
7495 unsigned int vpx_variance32x16_c(const uint8_t* src_ptr,
7496                                  int src_stride,
7497                                  const uint8_t* ref_ptr,
7498                                  int ref_stride,
7499                                  unsigned int* sse);
7500 unsigned int vpx_variance32x16_sse2(const uint8_t* src_ptr,
7501                                     int src_stride,
7502                                     const uint8_t* ref_ptr,
7503                                     int ref_stride,
7504                                     unsigned int* sse);
7505 unsigned int vpx_variance32x16_avx2(const uint8_t* src_ptr,
7506                                     int src_stride,
7507                                     const uint8_t* ref_ptr,
7508                                     int ref_stride,
7509                                     unsigned int* sse);
7510 RTCD_EXTERN unsigned int (*vpx_variance32x16)(const uint8_t* src_ptr,
7511                                               int src_stride,
7512                                               const uint8_t* ref_ptr,
7513                                               int ref_stride,
7514                                               unsigned int* sse);
7515 
7516 unsigned int vpx_variance32x32_c(const uint8_t* src_ptr,
7517                                  int src_stride,
7518                                  const uint8_t* ref_ptr,
7519                                  int ref_stride,
7520                                  unsigned int* sse);
7521 unsigned int vpx_variance32x32_sse2(const uint8_t* src_ptr,
7522                                     int src_stride,
7523                                     const uint8_t* ref_ptr,
7524                                     int ref_stride,
7525                                     unsigned int* sse);
7526 unsigned int vpx_variance32x32_avx2(const uint8_t* src_ptr,
7527                                     int src_stride,
7528                                     const uint8_t* ref_ptr,
7529                                     int ref_stride,
7530                                     unsigned int* sse);
7531 RTCD_EXTERN unsigned int (*vpx_variance32x32)(const uint8_t* src_ptr,
7532                                               int src_stride,
7533                                               const uint8_t* ref_ptr,
7534                                               int ref_stride,
7535                                               unsigned int* sse);
7536 
7537 unsigned int vpx_variance32x64_c(const uint8_t* src_ptr,
7538                                  int src_stride,
7539                                  const uint8_t* ref_ptr,
7540                                  int ref_stride,
7541                                  unsigned int* sse);
7542 unsigned int vpx_variance32x64_sse2(const uint8_t* src_ptr,
7543                                     int src_stride,
7544                                     const uint8_t* ref_ptr,
7545                                     int ref_stride,
7546                                     unsigned int* sse);
7547 unsigned int vpx_variance32x64_avx2(const uint8_t* src_ptr,
7548                                     int src_stride,
7549                                     const uint8_t* ref_ptr,
7550                                     int ref_stride,
7551                                     unsigned int* sse);
7552 RTCD_EXTERN unsigned int (*vpx_variance32x64)(const uint8_t* src_ptr,
7553                                               int src_stride,
7554                                               const uint8_t* ref_ptr,
7555                                               int ref_stride,
7556                                               unsigned int* sse);
7557 
7558 unsigned int vpx_variance4x4_c(const uint8_t* src_ptr,
7559                                int src_stride,
7560                                const uint8_t* ref_ptr,
7561                                int ref_stride,
7562                                unsigned int* sse);
7563 unsigned int vpx_variance4x4_sse2(const uint8_t* src_ptr,
7564                                   int src_stride,
7565                                   const uint8_t* ref_ptr,
7566                                   int ref_stride,
7567                                   unsigned int* sse);
7568 #define vpx_variance4x4 vpx_variance4x4_sse2
7569 
7570 unsigned int vpx_variance4x8_c(const uint8_t* src_ptr,
7571                                int src_stride,
7572                                const uint8_t* ref_ptr,
7573                                int ref_stride,
7574                                unsigned int* sse);
7575 unsigned int vpx_variance4x8_sse2(const uint8_t* src_ptr,
7576                                   int src_stride,
7577                                   const uint8_t* ref_ptr,
7578                                   int ref_stride,
7579                                   unsigned int* sse);
7580 #define vpx_variance4x8 vpx_variance4x8_sse2
7581 
7582 unsigned int vpx_variance64x32_c(const uint8_t* src_ptr,
7583                                  int src_stride,
7584                                  const uint8_t* ref_ptr,
7585                                  int ref_stride,
7586                                  unsigned int* sse);
7587 unsigned int vpx_variance64x32_sse2(const uint8_t* src_ptr,
7588                                     int src_stride,
7589                                     const uint8_t* ref_ptr,
7590                                     int ref_stride,
7591                                     unsigned int* sse);
7592 unsigned int vpx_variance64x32_avx2(const uint8_t* src_ptr,
7593                                     int src_stride,
7594                                     const uint8_t* ref_ptr,
7595                                     int ref_stride,
7596                                     unsigned int* sse);
7597 RTCD_EXTERN unsigned int (*vpx_variance64x32)(const uint8_t* src_ptr,
7598                                               int src_stride,
7599                                               const uint8_t* ref_ptr,
7600                                               int ref_stride,
7601                                               unsigned int* sse);
7602 
7603 unsigned int vpx_variance64x64_c(const uint8_t* src_ptr,
7604                                  int src_stride,
7605                                  const uint8_t* ref_ptr,
7606                                  int ref_stride,
7607                                  unsigned int* sse);
7608 unsigned int vpx_variance64x64_sse2(const uint8_t* src_ptr,
7609                                     int src_stride,
7610                                     const uint8_t* ref_ptr,
7611                                     int ref_stride,
7612                                     unsigned int* sse);
7613 unsigned int vpx_variance64x64_avx2(const uint8_t* src_ptr,
7614                                     int src_stride,
7615                                     const uint8_t* ref_ptr,
7616                                     int ref_stride,
7617                                     unsigned int* sse);
7618 RTCD_EXTERN unsigned int (*vpx_variance64x64)(const uint8_t* src_ptr,
7619                                               int src_stride,
7620                                               const uint8_t* ref_ptr,
7621                                               int ref_stride,
7622                                               unsigned int* sse);
7623 
7624 unsigned int vpx_variance8x16_c(const uint8_t* src_ptr,
7625                                 int src_stride,
7626                                 const uint8_t* ref_ptr,
7627                                 int ref_stride,
7628                                 unsigned int* sse);
7629 unsigned int vpx_variance8x16_sse2(const uint8_t* src_ptr,
7630                                    int src_stride,
7631                                    const uint8_t* ref_ptr,
7632                                    int ref_stride,
7633                                    unsigned int* sse);
7634 #define vpx_variance8x16 vpx_variance8x16_sse2
7635 
7636 unsigned int vpx_variance8x4_c(const uint8_t* src_ptr,
7637                                int src_stride,
7638                                const uint8_t* ref_ptr,
7639                                int ref_stride,
7640                                unsigned int* sse);
7641 unsigned int vpx_variance8x4_sse2(const uint8_t* src_ptr,
7642                                   int src_stride,
7643                                   const uint8_t* ref_ptr,
7644                                   int ref_stride,
7645                                   unsigned int* sse);
7646 #define vpx_variance8x4 vpx_variance8x4_sse2
7647 
7648 unsigned int vpx_variance8x8_c(const uint8_t* src_ptr,
7649                                int src_stride,
7650                                const uint8_t* ref_ptr,
7651                                int ref_stride,
7652                                unsigned int* sse);
7653 unsigned int vpx_variance8x8_sse2(const uint8_t* src_ptr,
7654                                   int src_stride,
7655                                   const uint8_t* ref_ptr,
7656                                   int ref_stride,
7657                                   unsigned int* sse);
7658 #define vpx_variance8x8 vpx_variance8x8_sse2
7659 
7660 void vpx_ve_predictor_4x4_c(uint8_t* dst,
7661                             ptrdiff_t stride,
7662                             const uint8_t* above,
7663                             const uint8_t* left);
7664 #define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c
7665 
7666 int vpx_vector_var_c(const int16_t* ref, const int16_t* src, const int bwl);
7667 int vpx_vector_var_sse2(const int16_t* ref, const int16_t* src, const int bwl);
7668 #define vpx_vector_var vpx_vector_var_sse2
7669 
7670 void vpx_dsp_rtcd(void);
7671 
7672 #ifdef RTCD_C
7673 #include "vpx_ports/x86.h"
setup_rtcd_internal(void)7674 static void setup_rtcd_internal(void) {
7675   int flags = x86_simd_caps();
7676 
7677   (void)flags;
7678 
7679   vpx_convolve8 = vpx_convolve8_sse2;
7680   if (flags & HAS_SSSE3)
7681     vpx_convolve8 = vpx_convolve8_ssse3;
7682   if (flags & HAS_AVX2)
7683     vpx_convolve8 = vpx_convolve8_avx2;
7684   vpx_convolve8_avg = vpx_convolve8_avg_sse2;
7685   if (flags & HAS_SSSE3)
7686     vpx_convolve8_avg = vpx_convolve8_avg_ssse3;
7687   if (flags & HAS_AVX2)
7688     vpx_convolve8_avg = vpx_convolve8_avg_avx2;
7689   vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_sse2;
7690   if (flags & HAS_SSSE3)
7691     vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_ssse3;
7692   if (flags & HAS_AVX2)
7693     vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_avx2;
7694   vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_sse2;
7695   if (flags & HAS_SSSE3)
7696     vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_ssse3;
7697   if (flags & HAS_AVX2)
7698     vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_avx2;
7699   vpx_convolve8_horiz = vpx_convolve8_horiz_sse2;
7700   if (flags & HAS_SSSE3)
7701     vpx_convolve8_horiz = vpx_convolve8_horiz_ssse3;
7702   if (flags & HAS_AVX2)
7703     vpx_convolve8_horiz = vpx_convolve8_horiz_avx2;
7704   vpx_convolve8_vert = vpx_convolve8_vert_sse2;
7705   if (flags & HAS_SSSE3)
7706     vpx_convolve8_vert = vpx_convolve8_vert_ssse3;
7707   if (flags & HAS_AVX2)
7708     vpx_convolve8_vert = vpx_convolve8_vert_avx2;
7709   vpx_d153_predictor_16x16 = vpx_d153_predictor_16x16_c;
7710   if (flags & HAS_SSSE3)
7711     vpx_d153_predictor_16x16 = vpx_d153_predictor_16x16_ssse3;
7712   vpx_d153_predictor_32x32 = vpx_d153_predictor_32x32_c;
7713   if (flags & HAS_SSSE3)
7714     vpx_d153_predictor_32x32 = vpx_d153_predictor_32x32_ssse3;
7715   vpx_d153_predictor_4x4 = vpx_d153_predictor_4x4_c;
7716   if (flags & HAS_SSSE3)
7717     vpx_d153_predictor_4x4 = vpx_d153_predictor_4x4_ssse3;
7718   vpx_d153_predictor_8x8 = vpx_d153_predictor_8x8_c;
7719   if (flags & HAS_SSSE3)
7720     vpx_d153_predictor_8x8 = vpx_d153_predictor_8x8_ssse3;
7721   vpx_d207_predictor_16x16 = vpx_d207_predictor_16x16_c;
7722   if (flags & HAS_SSSE3)
7723     vpx_d207_predictor_16x16 = vpx_d207_predictor_16x16_ssse3;
7724   vpx_d207_predictor_32x32 = vpx_d207_predictor_32x32_c;
7725   if (flags & HAS_SSSE3)
7726     vpx_d207_predictor_32x32 = vpx_d207_predictor_32x32_ssse3;
7727   vpx_d207_predictor_8x8 = vpx_d207_predictor_8x8_c;
7728   if (flags & HAS_SSSE3)
7729     vpx_d207_predictor_8x8 = vpx_d207_predictor_8x8_ssse3;
7730   vpx_d45_predictor_16x16 = vpx_d45_predictor_16x16_c;
7731   if (flags & HAS_SSSE3)
7732     vpx_d45_predictor_16x16 = vpx_d45_predictor_16x16_ssse3;
7733   vpx_d45_predictor_32x32 = vpx_d45_predictor_32x32_c;
7734   if (flags & HAS_SSSE3)
7735     vpx_d45_predictor_32x32 = vpx_d45_predictor_32x32_ssse3;
7736   vpx_d63_predictor_16x16 = vpx_d63_predictor_16x16_c;
7737   if (flags & HAS_SSSE3)
7738     vpx_d63_predictor_16x16 = vpx_d63_predictor_16x16_ssse3;
7739   vpx_d63_predictor_32x32 = vpx_d63_predictor_32x32_c;
7740   if (flags & HAS_SSSE3)
7741     vpx_d63_predictor_32x32 = vpx_d63_predictor_32x32_ssse3;
7742   vpx_d63_predictor_4x4 = vpx_d63_predictor_4x4_c;
7743   if (flags & HAS_SSSE3)
7744     vpx_d63_predictor_4x4 = vpx_d63_predictor_4x4_ssse3;
7745   vpx_d63_predictor_8x8 = vpx_d63_predictor_8x8_c;
7746   if (flags & HAS_SSSE3)
7747     vpx_d63_predictor_8x8 = vpx_d63_predictor_8x8_ssse3;
7748   vpx_get16x16var = vpx_get16x16var_sse2;
7749   if (flags & HAS_AVX2)
7750     vpx_get16x16var = vpx_get16x16var_avx2;
7751   vpx_hadamard_16x16 = vpx_hadamard_16x16_sse2;
7752   if (flags & HAS_AVX2)
7753     vpx_hadamard_16x16 = vpx_hadamard_16x16_avx2;
7754   vpx_hadamard_32x32 = vpx_hadamard_32x32_sse2;
7755   if (flags & HAS_AVX2)
7756     vpx_hadamard_32x32 = vpx_hadamard_32x32_avx2;
7757   vpx_hadamard_8x8 = vpx_hadamard_8x8_sse2;
7758   if (flags & HAS_SSSE3)
7759     vpx_hadamard_8x8 = vpx_hadamard_8x8_ssse3;
7760   vpx_highbd_convolve8 = vpx_highbd_convolve8_sse2;
7761   if (flags & HAS_AVX2)
7762     vpx_highbd_convolve8 = vpx_highbd_convolve8_avx2;
7763   vpx_highbd_convolve8_avg = vpx_highbd_convolve8_avg_sse2;
7764   if (flags & HAS_AVX2)
7765     vpx_highbd_convolve8_avg = vpx_highbd_convolve8_avg_avx2;
7766   vpx_highbd_convolve8_avg_horiz = vpx_highbd_convolve8_avg_horiz_sse2;
7767   if (flags & HAS_AVX2)
7768     vpx_highbd_convolve8_avg_horiz = vpx_highbd_convolve8_avg_horiz_avx2;
7769   vpx_highbd_convolve8_avg_vert = vpx_highbd_convolve8_avg_vert_sse2;
7770   if (flags & HAS_AVX2)
7771     vpx_highbd_convolve8_avg_vert = vpx_highbd_convolve8_avg_vert_avx2;
7772   vpx_highbd_convolve8_horiz = vpx_highbd_convolve8_horiz_sse2;
7773   if (flags & HAS_AVX2)
7774     vpx_highbd_convolve8_horiz = vpx_highbd_convolve8_horiz_avx2;
7775   vpx_highbd_convolve8_vert = vpx_highbd_convolve8_vert_sse2;
7776   if (flags & HAS_AVX2)
7777     vpx_highbd_convolve8_vert = vpx_highbd_convolve8_vert_avx2;
7778   vpx_highbd_convolve_avg = vpx_highbd_convolve_avg_sse2;
7779   if (flags & HAS_AVX2)
7780     vpx_highbd_convolve_avg = vpx_highbd_convolve_avg_avx2;
7781   vpx_highbd_convolve_copy = vpx_highbd_convolve_copy_sse2;
7782   if (flags & HAS_AVX2)
7783     vpx_highbd_convolve_copy = vpx_highbd_convolve_copy_avx2;
7784   vpx_highbd_d117_predictor_16x16 = vpx_highbd_d117_predictor_16x16_c;
7785   if (flags & HAS_SSSE3)
7786     vpx_highbd_d117_predictor_16x16 = vpx_highbd_d117_predictor_16x16_ssse3;
7787   vpx_highbd_d117_predictor_32x32 = vpx_highbd_d117_predictor_32x32_c;
7788   if (flags & HAS_SSSE3)
7789     vpx_highbd_d117_predictor_32x32 = vpx_highbd_d117_predictor_32x32_ssse3;
7790   vpx_highbd_d117_predictor_8x8 = vpx_highbd_d117_predictor_8x8_c;
7791   if (flags & HAS_SSSE3)
7792     vpx_highbd_d117_predictor_8x8 = vpx_highbd_d117_predictor_8x8_ssse3;
7793   vpx_highbd_d135_predictor_16x16 = vpx_highbd_d135_predictor_16x16_c;
7794   if (flags & HAS_SSSE3)
7795     vpx_highbd_d135_predictor_16x16 = vpx_highbd_d135_predictor_16x16_ssse3;
7796   vpx_highbd_d135_predictor_32x32 = vpx_highbd_d135_predictor_32x32_c;
7797   if (flags & HAS_SSSE3)
7798     vpx_highbd_d135_predictor_32x32 = vpx_highbd_d135_predictor_32x32_ssse3;
7799   vpx_highbd_d135_predictor_8x8 = vpx_highbd_d135_predictor_8x8_c;
7800   if (flags & HAS_SSSE3)
7801     vpx_highbd_d135_predictor_8x8 = vpx_highbd_d135_predictor_8x8_ssse3;
7802   vpx_highbd_d153_predictor_16x16 = vpx_highbd_d153_predictor_16x16_c;
7803   if (flags & HAS_SSSE3)
7804     vpx_highbd_d153_predictor_16x16 = vpx_highbd_d153_predictor_16x16_ssse3;
7805   vpx_highbd_d153_predictor_32x32 = vpx_highbd_d153_predictor_32x32_c;
7806   if (flags & HAS_SSSE3)
7807     vpx_highbd_d153_predictor_32x32 = vpx_highbd_d153_predictor_32x32_ssse3;
7808   vpx_highbd_d153_predictor_8x8 = vpx_highbd_d153_predictor_8x8_c;
7809   if (flags & HAS_SSSE3)
7810     vpx_highbd_d153_predictor_8x8 = vpx_highbd_d153_predictor_8x8_ssse3;
7811   vpx_highbd_d207_predictor_16x16 = vpx_highbd_d207_predictor_16x16_c;
7812   if (flags & HAS_SSSE3)
7813     vpx_highbd_d207_predictor_16x16 = vpx_highbd_d207_predictor_16x16_ssse3;
7814   vpx_highbd_d207_predictor_32x32 = vpx_highbd_d207_predictor_32x32_c;
7815   if (flags & HAS_SSSE3)
7816     vpx_highbd_d207_predictor_32x32 = vpx_highbd_d207_predictor_32x32_ssse3;
7817   vpx_highbd_d207_predictor_8x8 = vpx_highbd_d207_predictor_8x8_c;
7818   if (flags & HAS_SSSE3)
7819     vpx_highbd_d207_predictor_8x8 = vpx_highbd_d207_predictor_8x8_ssse3;
7820   vpx_highbd_d45_predictor_16x16 = vpx_highbd_d45_predictor_16x16_c;
7821   if (flags & HAS_SSSE3)
7822     vpx_highbd_d45_predictor_16x16 = vpx_highbd_d45_predictor_16x16_ssse3;
7823   vpx_highbd_d45_predictor_32x32 = vpx_highbd_d45_predictor_32x32_c;
7824   if (flags & HAS_SSSE3)
7825     vpx_highbd_d45_predictor_32x32 = vpx_highbd_d45_predictor_32x32_ssse3;
7826   vpx_highbd_d45_predictor_4x4 = vpx_highbd_d45_predictor_4x4_c;
7827   if (flags & HAS_SSSE3)
7828     vpx_highbd_d45_predictor_4x4 = vpx_highbd_d45_predictor_4x4_ssse3;
7829   vpx_highbd_d45_predictor_8x8 = vpx_highbd_d45_predictor_8x8_c;
7830   if (flags & HAS_SSSE3)
7831     vpx_highbd_d45_predictor_8x8 = vpx_highbd_d45_predictor_8x8_ssse3;
7832   vpx_highbd_d63_predictor_16x16 = vpx_highbd_d63_predictor_16x16_c;
7833   if (flags & HAS_SSSE3)
7834     vpx_highbd_d63_predictor_16x16 = vpx_highbd_d63_predictor_16x16_ssse3;
7835   vpx_highbd_d63_predictor_32x32 = vpx_highbd_d63_predictor_32x32_c;
7836   if (flags & HAS_SSSE3)
7837     vpx_highbd_d63_predictor_32x32 = vpx_highbd_d63_predictor_32x32_ssse3;
7838   vpx_highbd_d63_predictor_8x8 = vpx_highbd_d63_predictor_8x8_c;
7839   if (flags & HAS_SSSE3)
7840     vpx_highbd_d63_predictor_8x8 = vpx_highbd_d63_predictor_8x8_ssse3;
7841   vpx_highbd_hadamard_16x16 = vpx_highbd_hadamard_16x16_c;
7842   if (flags & HAS_AVX2)
7843     vpx_highbd_hadamard_16x16 = vpx_highbd_hadamard_16x16_avx2;
7844   vpx_highbd_hadamard_32x32 = vpx_highbd_hadamard_32x32_c;
7845   if (flags & HAS_AVX2)
7846     vpx_highbd_hadamard_32x32 = vpx_highbd_hadamard_32x32_avx2;
7847   vpx_highbd_hadamard_8x8 = vpx_highbd_hadamard_8x8_c;
7848   if (flags & HAS_AVX2)
7849     vpx_highbd_hadamard_8x8 = vpx_highbd_hadamard_8x8_avx2;
7850   vpx_highbd_idct16x16_10_add = vpx_highbd_idct16x16_10_add_sse2;
7851   if (flags & HAS_SSE4_1)
7852     vpx_highbd_idct16x16_10_add = vpx_highbd_idct16x16_10_add_sse4_1;
7853   vpx_highbd_idct16x16_256_add = vpx_highbd_idct16x16_256_add_sse2;
7854   if (flags & HAS_SSE4_1)
7855     vpx_highbd_idct16x16_256_add = vpx_highbd_idct16x16_256_add_sse4_1;
7856   vpx_highbd_idct16x16_38_add = vpx_highbd_idct16x16_38_add_sse2;
7857   if (flags & HAS_SSE4_1)
7858     vpx_highbd_idct16x16_38_add = vpx_highbd_idct16x16_38_add_sse4_1;
7859   vpx_highbd_idct32x32_1024_add = vpx_highbd_idct32x32_1024_add_sse2;
7860   if (flags & HAS_SSE4_1)
7861     vpx_highbd_idct32x32_1024_add = vpx_highbd_idct32x32_1024_add_sse4_1;
7862   vpx_highbd_idct32x32_135_add = vpx_highbd_idct32x32_135_add_sse2;
7863   if (flags & HAS_SSE4_1)
7864     vpx_highbd_idct32x32_135_add = vpx_highbd_idct32x32_135_add_sse4_1;
7865   vpx_highbd_idct32x32_34_add = vpx_highbd_idct32x32_34_add_sse2;
7866   if (flags & HAS_SSE4_1)
7867     vpx_highbd_idct32x32_34_add = vpx_highbd_idct32x32_34_add_sse4_1;
7868   vpx_highbd_idct4x4_16_add = vpx_highbd_idct4x4_16_add_sse2;
7869   if (flags & HAS_SSE4_1)
7870     vpx_highbd_idct4x4_16_add = vpx_highbd_idct4x4_16_add_sse4_1;
7871   vpx_highbd_idct8x8_12_add = vpx_highbd_idct8x8_12_add_sse2;
7872   if (flags & HAS_SSE4_1)
7873     vpx_highbd_idct8x8_12_add = vpx_highbd_idct8x8_12_add_sse4_1;
7874   vpx_highbd_idct8x8_64_add = vpx_highbd_idct8x8_64_add_sse2;
7875   if (flags & HAS_SSE4_1)
7876     vpx_highbd_idct8x8_64_add = vpx_highbd_idct8x8_64_add_sse4_1;
7877   vpx_highbd_satd = vpx_highbd_satd_c;
7878   if (flags & HAS_AVX2)
7879     vpx_highbd_satd = vpx_highbd_satd_avx2;
7880   vpx_idct32x32_135_add = vpx_idct32x32_135_add_sse2;
7881   if (flags & HAS_SSSE3)
7882     vpx_idct32x32_135_add = vpx_idct32x32_135_add_ssse3;
7883   vpx_idct32x32_34_add = vpx_idct32x32_34_add_sse2;
7884   if (flags & HAS_SSSE3)
7885     vpx_idct32x32_34_add = vpx_idct32x32_34_add_ssse3;
7886   vpx_idct8x8_12_add = vpx_idct8x8_12_add_sse2;
7887   if (flags & HAS_SSSE3)
7888     vpx_idct8x8_12_add = vpx_idct8x8_12_add_ssse3;
7889   vpx_lpf_horizontal_16 = vpx_lpf_horizontal_16_sse2;
7890   if (flags & HAS_AVX2)
7891     vpx_lpf_horizontal_16 = vpx_lpf_horizontal_16_avx2;
7892   vpx_lpf_horizontal_16_dual = vpx_lpf_horizontal_16_dual_sse2;
7893   if (flags & HAS_AVX2)
7894     vpx_lpf_horizontal_16_dual = vpx_lpf_horizontal_16_dual_avx2;
7895   vpx_mse16x16 = vpx_mse16x16_sse2;
7896   if (flags & HAS_AVX2)
7897     vpx_mse16x16 = vpx_mse16x16_avx2;
7898   vpx_mse16x8 = vpx_mse16x8_sse2;
7899   if (flags & HAS_AVX2)
7900     vpx_mse16x8 = vpx_mse16x8_avx2;
7901   vpx_quantize_b = vpx_quantize_b_sse2;
7902   if (flags & HAS_SSSE3)
7903     vpx_quantize_b = vpx_quantize_b_ssse3;
7904   if (flags & HAS_AVX)
7905     vpx_quantize_b = vpx_quantize_b_avx;
7906   vpx_quantize_b_32x32 = vpx_quantize_b_32x32_c;
7907   if (flags & HAS_SSSE3)
7908     vpx_quantize_b_32x32 = vpx_quantize_b_32x32_ssse3;
7909   if (flags & HAS_AVX)
7910     vpx_quantize_b_32x32 = vpx_quantize_b_32x32_avx;
7911   vpx_sad16x16x3 = vpx_sad16x16x3_c;
7912   if (flags & HAS_SSE3)
7913     vpx_sad16x16x3 = vpx_sad16x16x3_sse3;
7914   if (flags & HAS_SSSE3)
7915     vpx_sad16x16x3 = vpx_sad16x16x3_ssse3;
7916   vpx_sad16x16x8 = vpx_sad16x16x8_c;
7917   if (flags & HAS_SSE4_1)
7918     vpx_sad16x16x8 = vpx_sad16x16x8_sse4_1;
7919   vpx_sad16x8x3 = vpx_sad16x8x3_c;
7920   if (flags & HAS_SSE3)
7921     vpx_sad16x8x3 = vpx_sad16x8x3_sse3;
7922   if (flags & HAS_SSSE3)
7923     vpx_sad16x8x3 = vpx_sad16x8x3_ssse3;
7924   vpx_sad16x8x8 = vpx_sad16x8x8_c;
7925   if (flags & HAS_SSE4_1)
7926     vpx_sad16x8x8 = vpx_sad16x8x8_sse4_1;
7927   vpx_sad32x16 = vpx_sad32x16_sse2;
7928   if (flags & HAS_AVX2)
7929     vpx_sad32x16 = vpx_sad32x16_avx2;
7930   vpx_sad32x16_avg = vpx_sad32x16_avg_sse2;
7931   if (flags & HAS_AVX2)
7932     vpx_sad32x16_avg = vpx_sad32x16_avg_avx2;
7933   vpx_sad32x32 = vpx_sad32x32_sse2;
7934   if (flags & HAS_AVX2)
7935     vpx_sad32x32 = vpx_sad32x32_avx2;
7936   vpx_sad32x32_avg = vpx_sad32x32_avg_sse2;
7937   if (flags & HAS_AVX2)
7938     vpx_sad32x32_avg = vpx_sad32x32_avg_avx2;
7939   vpx_sad32x32x4d = vpx_sad32x32x4d_sse2;
7940   if (flags & HAS_AVX2)
7941     vpx_sad32x32x4d = vpx_sad32x32x4d_avx2;
7942   vpx_sad32x32x8 = vpx_sad32x32x8_c;
7943   if (flags & HAS_AVX2)
7944     vpx_sad32x32x8 = vpx_sad32x32x8_avx2;
7945   vpx_sad32x64 = vpx_sad32x64_sse2;
7946   if (flags & HAS_AVX2)
7947     vpx_sad32x64 = vpx_sad32x64_avx2;
7948   vpx_sad32x64_avg = vpx_sad32x64_avg_sse2;
7949   if (flags & HAS_AVX2)
7950     vpx_sad32x64_avg = vpx_sad32x64_avg_avx2;
7951   vpx_sad4x4x3 = vpx_sad4x4x3_c;
7952   if (flags & HAS_SSE3)
7953     vpx_sad4x4x3 = vpx_sad4x4x3_sse3;
7954   vpx_sad4x4x8 = vpx_sad4x4x8_c;
7955   if (flags & HAS_SSE4_1)
7956     vpx_sad4x4x8 = vpx_sad4x4x8_sse4_1;
7957   vpx_sad64x32 = vpx_sad64x32_sse2;
7958   if (flags & HAS_AVX2)
7959     vpx_sad64x32 = vpx_sad64x32_avx2;
7960   vpx_sad64x32_avg = vpx_sad64x32_avg_sse2;
7961   if (flags & HAS_AVX2)
7962     vpx_sad64x32_avg = vpx_sad64x32_avg_avx2;
7963   vpx_sad64x64 = vpx_sad64x64_sse2;
7964   if (flags & HAS_AVX2)
7965     vpx_sad64x64 = vpx_sad64x64_avx2;
7966   vpx_sad64x64_avg = vpx_sad64x64_avg_sse2;
7967   if (flags & HAS_AVX2)
7968     vpx_sad64x64_avg = vpx_sad64x64_avg_avx2;
7969   vpx_sad64x64x4d = vpx_sad64x64x4d_sse2;
7970   if (flags & HAS_AVX2)
7971     vpx_sad64x64x4d = vpx_sad64x64x4d_avx2;
7972   vpx_sad8x16x3 = vpx_sad8x16x3_c;
7973   if (flags & HAS_SSE3)
7974     vpx_sad8x16x3 = vpx_sad8x16x3_sse3;
7975   vpx_sad8x16x8 = vpx_sad8x16x8_c;
7976   if (flags & HAS_SSE4_1)
7977     vpx_sad8x16x8 = vpx_sad8x16x8_sse4_1;
7978   vpx_sad8x8x3 = vpx_sad8x8x3_c;
7979   if (flags & HAS_SSE3)
7980     vpx_sad8x8x3 = vpx_sad8x8x3_sse3;
7981   vpx_sad8x8x8 = vpx_sad8x8x8_c;
7982   if (flags & HAS_SSE4_1)
7983     vpx_sad8x8x8 = vpx_sad8x8x8_sse4_1;
7984   vpx_satd = vpx_satd_sse2;
7985   if (flags & HAS_AVX2)
7986     vpx_satd = vpx_satd_avx2;
7987   vpx_scaled_2d = vpx_scaled_2d_c;
7988   if (flags & HAS_SSSE3)
7989     vpx_scaled_2d = vpx_scaled_2d_ssse3;
7990   vpx_sub_pixel_avg_variance16x16 = vpx_sub_pixel_avg_variance16x16_sse2;
7991   if (flags & HAS_SSSE3)
7992     vpx_sub_pixel_avg_variance16x16 = vpx_sub_pixel_avg_variance16x16_ssse3;
7993   vpx_sub_pixel_avg_variance16x32 = vpx_sub_pixel_avg_variance16x32_sse2;
7994   if (flags & HAS_SSSE3)
7995     vpx_sub_pixel_avg_variance16x32 = vpx_sub_pixel_avg_variance16x32_ssse3;
7996   vpx_sub_pixel_avg_variance16x8 = vpx_sub_pixel_avg_variance16x8_sse2;
7997   if (flags & HAS_SSSE3)
7998     vpx_sub_pixel_avg_variance16x8 = vpx_sub_pixel_avg_variance16x8_ssse3;
7999   vpx_sub_pixel_avg_variance32x16 = vpx_sub_pixel_avg_variance32x16_sse2;
8000   if (flags & HAS_SSSE3)
8001     vpx_sub_pixel_avg_variance32x16 = vpx_sub_pixel_avg_variance32x16_ssse3;
8002   vpx_sub_pixel_avg_variance32x32 = vpx_sub_pixel_avg_variance32x32_sse2;
8003   if (flags & HAS_SSSE3)
8004     vpx_sub_pixel_avg_variance32x32 = vpx_sub_pixel_avg_variance32x32_ssse3;
8005   if (flags & HAS_AVX2)
8006     vpx_sub_pixel_avg_variance32x32 = vpx_sub_pixel_avg_variance32x32_avx2;
8007   vpx_sub_pixel_avg_variance32x64 = vpx_sub_pixel_avg_variance32x64_sse2;
8008   if (flags & HAS_SSSE3)
8009     vpx_sub_pixel_avg_variance32x64 = vpx_sub_pixel_avg_variance32x64_ssse3;
8010   vpx_sub_pixel_avg_variance4x4 = vpx_sub_pixel_avg_variance4x4_sse2;
8011   if (flags & HAS_SSSE3)
8012     vpx_sub_pixel_avg_variance4x4 = vpx_sub_pixel_avg_variance4x4_ssse3;
8013   vpx_sub_pixel_avg_variance4x8 = vpx_sub_pixel_avg_variance4x8_sse2;
8014   if (flags & HAS_SSSE3)
8015     vpx_sub_pixel_avg_variance4x8 = vpx_sub_pixel_avg_variance4x8_ssse3;
8016   vpx_sub_pixel_avg_variance64x32 = vpx_sub_pixel_avg_variance64x32_sse2;
8017   if (flags & HAS_SSSE3)
8018     vpx_sub_pixel_avg_variance64x32 = vpx_sub_pixel_avg_variance64x32_ssse3;
8019   vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_sse2;
8020   if (flags & HAS_SSSE3)
8021     vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_ssse3;
8022   if (flags & HAS_AVX2)
8023     vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_avx2;
8024   vpx_sub_pixel_avg_variance8x16 = vpx_sub_pixel_avg_variance8x16_sse2;
8025   if (flags & HAS_SSSE3)
8026     vpx_sub_pixel_avg_variance8x16 = vpx_sub_pixel_avg_variance8x16_ssse3;
8027   vpx_sub_pixel_avg_variance8x4 = vpx_sub_pixel_avg_variance8x4_sse2;
8028   if (flags & HAS_SSSE3)
8029     vpx_sub_pixel_avg_variance8x4 = vpx_sub_pixel_avg_variance8x4_ssse3;
8030   vpx_sub_pixel_avg_variance8x8 = vpx_sub_pixel_avg_variance8x8_sse2;
8031   if (flags & HAS_SSSE3)
8032     vpx_sub_pixel_avg_variance8x8 = vpx_sub_pixel_avg_variance8x8_ssse3;
8033   vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_sse2;
8034   if (flags & HAS_SSSE3)
8035     vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_ssse3;
8036   vpx_sub_pixel_variance16x32 = vpx_sub_pixel_variance16x32_sse2;
8037   if (flags & HAS_SSSE3)
8038     vpx_sub_pixel_variance16x32 = vpx_sub_pixel_variance16x32_ssse3;
8039   vpx_sub_pixel_variance16x8 = vpx_sub_pixel_variance16x8_sse2;
8040   if (flags & HAS_SSSE3)
8041     vpx_sub_pixel_variance16x8 = vpx_sub_pixel_variance16x8_ssse3;
8042   vpx_sub_pixel_variance32x16 = vpx_sub_pixel_variance32x16_sse2;
8043   if (flags & HAS_SSSE3)
8044     vpx_sub_pixel_variance32x16 = vpx_sub_pixel_variance32x16_ssse3;
8045   vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_sse2;
8046   if (flags & HAS_SSSE3)
8047     vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_ssse3;
8048   if (flags & HAS_AVX2)
8049     vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_avx2;
8050   vpx_sub_pixel_variance32x64 = vpx_sub_pixel_variance32x64_sse2;
8051   if (flags & HAS_SSSE3)
8052     vpx_sub_pixel_variance32x64 = vpx_sub_pixel_variance32x64_ssse3;
8053   vpx_sub_pixel_variance4x4 = vpx_sub_pixel_variance4x4_sse2;
8054   if (flags & HAS_SSSE3)
8055     vpx_sub_pixel_variance4x4 = vpx_sub_pixel_variance4x4_ssse3;
8056   vpx_sub_pixel_variance4x8 = vpx_sub_pixel_variance4x8_sse2;
8057   if (flags & HAS_SSSE3)
8058     vpx_sub_pixel_variance4x8 = vpx_sub_pixel_variance4x8_ssse3;
8059   vpx_sub_pixel_variance64x32 = vpx_sub_pixel_variance64x32_sse2;
8060   if (flags & HAS_SSSE3)
8061     vpx_sub_pixel_variance64x32 = vpx_sub_pixel_variance64x32_ssse3;
8062   vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_sse2;
8063   if (flags & HAS_SSSE3)
8064     vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_ssse3;
8065   if (flags & HAS_AVX2)
8066     vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_avx2;
8067   vpx_sub_pixel_variance8x16 = vpx_sub_pixel_variance8x16_sse2;
8068   if (flags & HAS_SSSE3)
8069     vpx_sub_pixel_variance8x16 = vpx_sub_pixel_variance8x16_ssse3;
8070   vpx_sub_pixel_variance8x4 = vpx_sub_pixel_variance8x4_sse2;
8071   if (flags & HAS_SSSE3)
8072     vpx_sub_pixel_variance8x4 = vpx_sub_pixel_variance8x4_ssse3;
8073   vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_sse2;
8074   if (flags & HAS_SSSE3)
8075     vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_ssse3;
8076   vpx_variance16x16 = vpx_variance16x16_sse2;
8077   if (flags & HAS_AVX2)
8078     vpx_variance16x16 = vpx_variance16x16_avx2;
8079   vpx_variance16x32 = vpx_variance16x32_sse2;
8080   if (flags & HAS_AVX2)
8081     vpx_variance16x32 = vpx_variance16x32_avx2;
8082   vpx_variance16x8 = vpx_variance16x8_sse2;
8083   if (flags & HAS_AVX2)
8084     vpx_variance16x8 = vpx_variance16x8_avx2;
8085   vpx_variance32x16 = vpx_variance32x16_sse2;
8086   if (flags & HAS_AVX2)
8087     vpx_variance32x16 = vpx_variance32x16_avx2;
8088   vpx_variance32x32 = vpx_variance32x32_sse2;
8089   if (flags & HAS_AVX2)
8090     vpx_variance32x32 = vpx_variance32x32_avx2;
8091   vpx_variance32x64 = vpx_variance32x64_sse2;
8092   if (flags & HAS_AVX2)
8093     vpx_variance32x64 = vpx_variance32x64_avx2;
8094   vpx_variance64x32 = vpx_variance64x32_sse2;
8095   if (flags & HAS_AVX2)
8096     vpx_variance64x32 = vpx_variance64x32_avx2;
8097   vpx_variance64x64 = vpx_variance64x64_sse2;
8098   if (flags & HAS_AVX2)
8099     vpx_variance64x64 = vpx_variance64x64_avx2;
8100 }
8101 #endif
8102 
8103 #ifdef __cplusplus
8104 }  // extern "C"
8105 #endif
8106 
8107 #endif
8108