14b95526e5c4eb4fecde1cd642cf991a82c51b9f2johannkoenig@chromium.org#ifndef VP9_RTCD_H_
24b95526e5c4eb4fecde1cd642cf991a82c51b9f2johannkoenig@chromium.org#define VP9_RTCD_H_
36fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
46fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#ifdef RTCD_C
56fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#define RTCD_EXTERN
66fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#else
76fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#define RTCD_EXTERN extern
86fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#endif
96fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
106fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org/*
116fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org * VP9
126fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org */
136fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
14d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org#include "vpx/vpx_integer.h"
1510a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org#include "vp9/common/vp9_enums.h"
1687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#include "vp9/common/vp9_idct.h"
17d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org
186fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.orgstruct macroblockd;
196fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
206fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org/* Encoder forward decls */
216fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.orgstruct macroblock;
224b95526e5c4eb4fecde1cd642cf991a82c51b9f2johannkoenig@chromium.orgstruct vp9_variance_vtable;
2377496404dc182c2f4a5f86ebabffe1d1ceb81e7ejohannkoenig@chromium.orgstruct search_site_config;
24d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.orgstruct mv;
256fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.orgunion int_mv;
266fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.orgstruct yv12_buffer_config;
276fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
2887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#ifdef __cplusplus
2987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgextern "C" {
3087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#endif
3187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org
3287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgint64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
3387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgint64_t vp9_block_error_sse2(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
3487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN int64_t (*vp9_block_error)(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz);
356fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
3662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
3762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
3862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
3962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
4047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
4162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
4262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
4362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
4462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
4547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
4662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
4762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_horiz_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
4862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_horiz_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
4962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8_avg_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
5047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
5162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
5262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_vert_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
5362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_vert_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
5462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8_avg_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
5547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
5662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
5762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_horiz_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
5862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_horiz_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
5962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
6047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
6162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
6262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_vert_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
6362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_vert_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
6462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
6547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
6662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
6762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
6862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
6947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
7062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
7162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve_copy_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
7262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve_copy)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
7347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
7462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
7562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c
7647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
7762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
7862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c
7947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
8062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
8162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c
8247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
8353a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
8447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org#define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c
8547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
8662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
8762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c
8847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
8962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
9062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c
9147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
9262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
9362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c
9447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
9562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
9662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c
9747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
9862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
9962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
10062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d153_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
10147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
10262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
10362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c
10447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
10562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
10662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
10762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d153_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
10847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
10962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
11062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
11162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d153_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
11247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
11353a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
1140d106b34dc08439a7c6887d1316a3e1a35f8f0cajohannkoenig@chromium.orgvoid vp9_d207_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
1150d106b34dc08439a7c6887d1316a3e1a35f8f0cajohannkoenig@chromium.orgRTCD_EXTERN void (*vp9_d207_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
11647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
11762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
11862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
11962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d207_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
12062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
12162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
12262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
12362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d207_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
12462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
12562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
12662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
12762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d207_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
12862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
12953a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
1309c920af5cd2f78ab30bb06f01f4a4d9d30d5c92bfgalligan@chromium.orgvoid vp9_d45_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
1319c920af5cd2f78ab30bb06f01f4a4d9d30d5c92bfgalligan@chromium.orgRTCD_EXTERN void (*vp9_d45_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
13247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
13362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
13462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
13562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d45_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
13662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
13762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
13862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
13962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d45_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
14062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
14162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
14262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
14362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d45_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
14462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
14553a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
1460d106b34dc08439a7c6887d1316a3e1a35f8f0cajohannkoenig@chromium.orgvoid vp9_d63_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
1470d106b34dc08439a7c6887d1316a3e1a35f8f0cajohannkoenig@chromium.orgRTCD_EXTERN void (*vp9_d63_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
14847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
14962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
15062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
15162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d63_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
15247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
15362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
15462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
15562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d63_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
15647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
15762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
15862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
15962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d63_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
16047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
16162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
16262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c
16347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
16462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
16562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c
16647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
16762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
16862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c
16962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
17062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
17162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c
17262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
17362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
17462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c
17562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
17662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
17762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c
17862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
17962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
18062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c
18162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
18262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
18362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c
18447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
18553a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
1869c920af5cd2f78ab30bb06f01f4a4d9d30d5c92bfgalligan@chromium.orgvoid vp9_dc_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
1879c920af5cd2f78ab30bb06f01f4a4d9d30d5c92bfgalligan@chromium.orgRTCD_EXTERN void (*vp9_dc_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
18847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
18962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
19062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
19162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_dc_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
19262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
19362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
19462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_4x4_sse(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
19562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_dc_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
19662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
19762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
19862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_8x8_sse(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
19962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_dc_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
20062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
20153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
20247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org#define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c
20347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
20462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
20562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c
20647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
20762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
20862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c
20947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
21062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
21162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c
21247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
21377496404dc182c2f4a5f86ebabffe1d1ceb81e7ejohannkoenig@chromium.orgint vp9_diamond_search_sad_c(const struct macroblock *x, const struct search_site_config *cfg,  struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
21495aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com#define vp9_diamond_search_sad vp9_diamond_search_sad_c
21547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
21687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
21787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_sse2(const int16_t *input, tran_low_t *output, int stride);
21887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct16x16)(const int16_t *input, tran_low_t *output, int stride);
21947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
22087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
22187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_1_sse2(const int16_t *input, tran_low_t *output, int stride);
22287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct16x16_1)(const int16_t *input, tran_low_t *output, int stride);
22388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
22487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
22587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_sse2(const int16_t *input, tran_low_t *output, int stride);
22687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct32x32)(const int16_t *input, tran_low_t *output, int stride);
22747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
22887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
22987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_1_sse2(const int16_t *input, tran_low_t *output, int stride);
23087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct32x32_1)(const int16_t *input, tran_low_t *output, int stride);
23188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
23287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
23387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_rd_sse2(const int16_t *input, tran_low_t *output, int stride);
23487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct32x32_rd)(const int16_t *input, tran_low_t *output, int stride);
23547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
23687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
23787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_sse2(const int16_t *input, tran_low_t *output, int stride);
23887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct4x4)(const int16_t *input, tran_low_t *output, int stride);
23947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
24087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
24187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_1_sse2(const int16_t *input, tran_low_t *output, int stride);
24287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct4x4_1)(const int16_t *input, tran_low_t *output, int stride);
24388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
24487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
24587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_sse2(const int16_t *input, tran_low_t *output, int stride);
24687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct8x8)(const int16_t *input, tran_low_t *output, int stride);
24747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
24887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
24987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_1_sse2(const int16_t *input, tran_low_t *output, int stride);
25087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct8x8_1)(const int16_t *input, tran_low_t *output, int stride);
25188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
25287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
25387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht16x16_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type);
25487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fht16x16)(const int16_t *input, tran_low_t *output, int stride, int tx_type);
25547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
25687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
25787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht4x4_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type);
25887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fht4x4)(const int16_t *input, tran_low_t *output, int stride, int tx_type);
25947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
26087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
26187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht8x8_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type);
26287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fht8x8)(const int16_t *input, tran_low_t *output, int stride, int tx_type);
26347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
26477496404dc182c2f4a5f86ebabffe1d1ceb81e7ejohannkoenig@chromium.orgint vp9_full_range_search_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
26562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_full_range_search vp9_full_range_search_c
26647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
267693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@google.comint vp9_full_search_sad_c(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv, struct mv *best_mv);
268693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@google.comint vp9_full_search_sadx3(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv, struct mv *best_mv);
269693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@google.comint vp9_full_search_sadx8(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv, struct mv *best_mv);
270693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@google.comRTCD_EXTERN int (*vp9_full_search_sad)(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv, struct mv *best_mv);
27147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
27287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride);
27387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fwht4x4_mmx(const int16_t *input, tran_low_t *output, int stride);
27487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fwht4x4)(const int16_t *input, tran_low_t *output, int stride);
2756fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
27688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgvoid vp9_get16x16var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
27788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgvoid vp9_get16x16var_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
27888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN void (*vp9_get16x16var)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
27988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
28088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgvoid vp9_get8x8var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
28188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgvoid vp9_get8x8var_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
28288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN void (*vp9_get8x8var)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
28388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
28462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_get_mb_ss_c(const int16_t *);
28562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_get_mb_ss_sse2(const int16_t *);
28662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_get_mb_ss)(const int16_t *);
28762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
28862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
28962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
29062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_h_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
29162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
29262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
29362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
29462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_h_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
29562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
29662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
29762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
29862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_h_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
29962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
30062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
30162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
30262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_h_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
30362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
30487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
30587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_10_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
30687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_10_add_ssse3(const tran_low_t *input, uint8_t *dest, int dest_stride);
30787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct16x16_10_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
30862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
30987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
31087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
31187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct16x16_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
31262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
31387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
31487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_256_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
31587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_256_add_ssse3(const tran_low_t *input, uint8_t *dest, int dest_stride);
31687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct16x16_256_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
31762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
31887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
31987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1024_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
32087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct32x32_1024_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
32162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
32287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
32387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
32487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct32x32_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
32562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
32687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
32787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_34_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
32887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct32x32_34_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
32962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
33087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
33187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
33287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct4x4_16_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
33362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
33487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
33587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
33687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct4x4_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
33762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
33887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
33987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_12_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
34087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct8x8_12_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
34162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
34287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
34387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
34487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct8x8_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
34562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
34687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
34787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
34887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct8x8_64_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
34962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
35087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
35187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht16x16_256_add_sse2(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
35287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_iht16x16_256_add)(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
35362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
35487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
35587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
35687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_iht4x4_16_add)(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
35762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
35887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
35987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
36087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_iht8x8_64_add)(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
36162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
36287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
36362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_iwht4x4_16_add vp9_iwht4x4_16_add_c
36462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
36587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
36662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_iwht4x4_1_add vp9_iwht4x4_1_add_c
36762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
36862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
36962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_horizontal_16_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
37062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_lpf_horizontal_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
37162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
37262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
37362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_horizontal_4_mmx(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
37462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_lpf_horizontal_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
37562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
37662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
37762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_horizontal_4_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
37862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_lpf_horizontal_4_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
37962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
38062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
38162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_horizontal_8_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
38262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_lpf_horizontal_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
38362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
38462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
38562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_horizontal_8_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
38662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_lpf_horizontal_8_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
38762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
38862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
38962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_vertical_16_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
39062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_lpf_vertical_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
391d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org
3928b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.orgvoid vp9_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
3938b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.orgvoid vp9_lpf_vertical_16_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
3948b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_lpf_vertical_16_dual)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
395d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org
39662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
39762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_vertical_4_mmx(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
39862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_lpf_vertical_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
39962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
40062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
40162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_vertical_4_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
40262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_lpf_vertical_4_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
40362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
4048b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.orgvoid vp9_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
4058b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.orgvoid vp9_lpf_vertical_8_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
4068b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_lpf_vertical_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
407d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org
4088b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.orgvoid vp9_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
4098b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.orgvoid vp9_lpf_vertical_8_dual_sse2(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
4108b26fe55f3e4daa2311dbd2d95e8ac2b4e080685johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_lpf_vertical_8_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
411d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org
41262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_mse16x16_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
41362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_mse16x16_sse2(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
41462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_mse16x16)(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
415d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org
41662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_mse16x8_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
417d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgunsigned int vp9_mse16x8_sse2(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
418d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgRTCD_EXTERN unsigned int (*vp9_mse16x8)(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
419d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org
42062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_mse8x16_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
421d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgunsigned int vp9_mse8x16_sse2(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
422d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgRTCD_EXTERN unsigned int (*vp9_mse8x16)(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
423d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org
42462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_mse8x8_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
425d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgunsigned int vp9_mse8x8_sse2(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
426d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgRTCD_EXTERN unsigned int (*vp9_mse8x8)(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
42762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
42887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
42962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_quantize_b vp9_quantize_b_c
43062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
43187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
43262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_quantize_b_32x32 vp9_quantize_b_32x32_c
43362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
43487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_quantize_fp_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
435e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.org#define vp9_quantize_fp vp9_quantize_fp_c
436e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.org
43787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_quantize_fp_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
43895aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
43995aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com
440693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@google.comint vp9_refining_search_sad_c(const struct macroblock *x, struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv);
44195aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com#define vp9_refining_search_sad vp9_refining_search_sad_c
44262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
44388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
44488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
44588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad16x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
44662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
44788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
44888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x16_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
44988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad16x16_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
45062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
45162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
45262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x16x3_sse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
45362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x16x3_ssse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
45462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad16x16x3)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
45562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
45662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x16x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
45762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x16x4d_sse2(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
45862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad16x16x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
45962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
46062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x16x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
46162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x16x8 vp9_sad16x16x8_c
46262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
46388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
46488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
46588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad16x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
46662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
46788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
46888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x32_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
46988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad16x32_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
47062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
47162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x32x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
47262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x32x4d_sse2(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
47362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad16x32x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
47462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
47588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
47688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
47788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad16x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
47862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
47988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
48088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x8_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
48188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad16x8_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
48262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
48362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
48462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x8x3_sse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
48562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x8x3_ssse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
48662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad16x8x3)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
48762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
48862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x8x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
48962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x8x4d_sse2(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
49062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad16x8x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
49162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
49262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad16x8x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
49362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x8x8 vp9_sad16x8x8_c
49462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
49588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
49688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
49788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad32x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
49862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
49988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
50088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x16_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
50188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad32x16_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
50262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
50362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad32x16x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
50462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad32x16x4d_sse2(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
50562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad32x16x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
50662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
50788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
50888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
50988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad32x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
51062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
51188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
51288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x32_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
51388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad32x32_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
51462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
51562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad32x32x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
51662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x32x3 vp9_sad32x32x3_c
51762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
51862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad32x32x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
51962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad32x32x4d_sse2(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
52062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad32x32x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
52162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
52262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad32x32x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
52362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x32x8 vp9_sad32x32x8_c
52462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
52588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
52688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x64_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
52788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad32x64)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
52862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
52988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x64_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
53088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x64_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
53188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad32x64_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
53262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
53362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad32x64x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
53462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad32x64x4d_sse2(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
53562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad32x64x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
53662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
53788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
53888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x4_sse(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
53988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad4x4)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
54062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
54188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x4_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
54288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x4_avg_sse(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
54388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad4x4_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
54462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
54562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad4x4x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
54662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad4x4x3_sse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
54762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad4x4x3)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
54862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
54962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad4x4x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
55062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad4x4x4d_sse(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
55162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad4x4x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
55262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
55362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad4x4x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
55462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad4x4x8 vp9_sad4x4x8_c
55562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
55688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
55788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x8_sse(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
55888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad4x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
55962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
56088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
56188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x8_avg_sse(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
56288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad4x8_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
56362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
56462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
56562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad4x8x4d_sse(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
56662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad4x8x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
56762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
56862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
56962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad4x8x8 vp9_sad4x8x8_c
57062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
57188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
57288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
57388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad64x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
57462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
57588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
57688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x32_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
57788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad64x32_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
57862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
57962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad64x32x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
58062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad64x32x4d_sse2(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
58162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad64x32x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
58262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
58388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
58488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x64_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
58588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad64x64)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
58662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
58788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x64_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
58888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x64_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
58988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad64x64_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
59062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
59162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad64x64x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
59262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad64x64x3 vp9_sad64x64x3_c
59362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
59462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad64x64x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
59562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad64x64x4d_sse2(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
59662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad64x64x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
59762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
59862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad64x64x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
59962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad64x64x8 vp9_sad64x64x8_c
60062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
60188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
60288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
60388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad8x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
60462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
60588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
60688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x16_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
60788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad8x16_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
60862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
60962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
61062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x16x3_sse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
61162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad8x16x3)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
61262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
61362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x16x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
61462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x16x4d_sse2(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
61562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad8x16x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
61662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
61762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x16x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
61862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x16x8 vp9_sad8x16x8_c
61962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
62088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
62188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x4_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
62288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad8x4)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
62362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
62488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x4_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
62588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x4_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
62688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad8x4_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
62762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
62862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
62962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x4x4d_sse2(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
63062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad8x4x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
63162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
63262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
63362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x4x8 vp9_sad8x4x8_c
63462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
63588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
63688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
63788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
63862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
63988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
64088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x8_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
64188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sad8x8_avg)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred);
64262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
64362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
64462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x8x3_sse3(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
64562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad8x8x3)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
64662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
64762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x8x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
64862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x8x4d_sse2(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
64962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_sad8x8x4d)(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
65062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
65162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_sad8x8x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
65262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x8x8 vp9_sad8x8x8_c
65362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
65462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
65562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
65662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
65762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance16x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
65862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
65962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
66062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
66162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
66262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance16x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
66362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
66462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
66562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x8_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
66662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
66762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance16x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
66862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
66962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
67062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
67162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
67262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance32x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
67362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
67462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
67562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
67662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
67762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance32x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
67862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
67962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
68062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x64_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
68162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x64_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
68262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance32x64)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
68362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
68462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
68562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance4x4_sse(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
68662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance4x4_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
68762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance4x4)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
68862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
68962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
69062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance4x8_sse(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
69162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance4x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
69262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance4x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
69362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
69462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
69562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance64x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
69662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance64x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
69762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance64x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
69862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
69962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
70062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance64x64_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
70162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance64x64_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
70262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance64x64)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
70362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
70462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
70562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
70662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
70762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance8x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
70862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
70962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
71062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x4_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
71162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x4_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
71262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance8x4)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
71362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
71462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
71562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x8_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
71662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
71762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance8x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
71862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
71962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
72062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
72162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
72262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance16x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
72362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
72462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
72562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
72662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
72762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance16x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
72862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
72962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
73062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x8_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
73162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
73262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance16x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
73362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
73462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
73562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
73662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
73762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance32x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
73862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
73962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
74062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
74162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
74262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance32x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
74362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
74462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
74562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x64_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
74662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x64_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
74762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance32x64)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
74862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
74962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
75062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance4x4_sse(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
75162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance4x4_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
75262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance4x4)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
75362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
75462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
75562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance4x8_sse(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
75662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance4x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
75762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance4x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
75862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
75962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
76062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance64x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
76162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance64x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
76262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance64x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
76362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
76462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
76562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance64x64_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
76662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance64x64_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
76762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance64x64)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
76862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
76962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
77062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
77162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
77262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance8x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
77362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
77462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
77562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x4_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
77662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x4_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
77762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance8x4)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
77862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
77962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
78062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x8_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
78162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
78262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance8x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
78362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
78462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
78562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_subtract_block_sse2(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
78662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_subtract_block)(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
78762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
78888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgvoid vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
78988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgvoid vp9_temporal_filter_apply_sse2(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
79088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgRTCD_EXTERN void (*vp9_temporal_filter_apply)(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
79162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
79262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
79362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
79462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_tm_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
79562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
79662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
79762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_tm_predictor_32x32 vp9_tm_predictor_32x32_c
79862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
79962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
80062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_4x4_sse(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
80162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_tm_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
80262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
80362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
80462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
80562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_tm_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
80662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
80762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
80862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
80962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_v_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
81062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
81162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
81262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
81362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_v_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
81462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
81562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
81662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_4x4_sse(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
81762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_v_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
81862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
81962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
82062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_8x8_sse(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
82162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_v_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
82262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
82362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
82462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance16x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
82562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance16x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
82662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
82762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
82862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance16x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
82962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance16x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
83062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
83162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
83262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance16x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
83362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance16x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
83462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
83562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
83662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance32x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
83762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance32x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
83862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
83962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
84062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance32x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
84162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance32x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
84262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
84362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
84462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance32x64_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
84562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance32x64)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
84662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
84762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
84862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance4x4_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
84962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance4x4)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
85062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
85162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
85262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance4x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
85362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance4x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
85462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
85562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
85662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance64x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
85762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance64x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
85862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
85962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
86062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance64x64_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
86162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance64x64)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
86262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
86362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
86462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance8x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
86562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance8x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
86662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
86762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
86862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance8x4_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
86962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance8x4)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
87062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
87162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
87262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance8x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
87362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_variance8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
87462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
87562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_rtcd(void);
87662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
87762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#ifdef RTCD_C
87862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#include "vpx_ports/x86.h"
87962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgstatic void setup_rtcd_internal(void)
88062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org{
88162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    int flags = x86_simd_caps();
88262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
88362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    (void)flags;
88462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
88562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_block_error = vp9_block_error_c;
88662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_block_error = vp9_block_error_sse2;
88762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_convolve8 = vp9_convolve8_c;
88862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8 = vp9_convolve8_sse2;
88962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8 = vp9_convolve8_ssse3;
89062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_convolve8_avg = vp9_convolve8_avg_c;
89162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8_avg = vp9_convolve8_avg_sse2;
89262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8_avg = vp9_convolve8_avg_ssse3;
89362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_c;
89462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_sse2;
89562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_ssse3;
89662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_c;
89762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_sse2;
89862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_ssse3;
89962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_convolve8_horiz = vp9_convolve8_horiz_c;
90062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8_horiz = vp9_convolve8_horiz_sse2;
90162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8_horiz = vp9_convolve8_horiz_ssse3;
90262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_convolve8_vert = vp9_convolve8_vert_c;
90362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8_vert = vp9_convolve8_vert_sse2;
90462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8_vert = vp9_convolve8_vert_ssse3;
90562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_convolve_avg = vp9_convolve_avg_c;
90662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve_avg = vp9_convolve_avg_sse2;
90762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_convolve_copy = vp9_convolve_copy_c;
90862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve_copy = vp9_convolve_copy_sse2;
90962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d153_predictor_16x16 = vp9_d153_predictor_16x16_c;
91062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d153_predictor_16x16 = vp9_d153_predictor_16x16_ssse3;
91162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d153_predictor_4x4 = vp9_d153_predictor_4x4_c;
91262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d153_predictor_4x4 = vp9_d153_predictor_4x4_ssse3;
91362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d153_predictor_8x8 = vp9_d153_predictor_8x8_c;
91462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d153_predictor_8x8 = vp9_d153_predictor_8x8_ssse3;
91562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d207_predictor_16x16 = vp9_d207_predictor_16x16_c;
91662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d207_predictor_16x16 = vp9_d207_predictor_16x16_ssse3;
91762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d207_predictor_32x32 = vp9_d207_predictor_32x32_c;
91862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d207_predictor_32x32 = vp9_d207_predictor_32x32_ssse3;
91962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d207_predictor_4x4 = vp9_d207_predictor_4x4_c;
92062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d207_predictor_4x4 = vp9_d207_predictor_4x4_ssse3;
92162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d207_predictor_8x8 = vp9_d207_predictor_8x8_c;
92262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d207_predictor_8x8 = vp9_d207_predictor_8x8_ssse3;
92362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d45_predictor_16x16 = vp9_d45_predictor_16x16_c;
92462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d45_predictor_16x16 = vp9_d45_predictor_16x16_ssse3;
92562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d45_predictor_32x32 = vp9_d45_predictor_32x32_c;
92662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d45_predictor_32x32 = vp9_d45_predictor_32x32_ssse3;
92762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d45_predictor_4x4 = vp9_d45_predictor_4x4_c;
92862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d45_predictor_4x4 = vp9_d45_predictor_4x4_ssse3;
92962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d45_predictor_8x8 = vp9_d45_predictor_8x8_c;
93062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d45_predictor_8x8 = vp9_d45_predictor_8x8_ssse3;
93162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d63_predictor_16x16 = vp9_d63_predictor_16x16_c;
93262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d63_predictor_16x16 = vp9_d63_predictor_16x16_ssse3;
93362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d63_predictor_32x32 = vp9_d63_predictor_32x32_c;
93462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d63_predictor_32x32 = vp9_d63_predictor_32x32_ssse3;
93562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d63_predictor_4x4 = vp9_d63_predictor_4x4_c;
93662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d63_predictor_4x4 = vp9_d63_predictor_4x4_ssse3;
93762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_d63_predictor_8x8 = vp9_d63_predictor_8x8_c;
93862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_d63_predictor_8x8 = vp9_d63_predictor_8x8_ssse3;
93962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_dc_predictor_16x16 = vp9_dc_predictor_16x16_c;
94062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_dc_predictor_16x16 = vp9_dc_predictor_16x16_sse2;
94162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_dc_predictor_32x32 = vp9_dc_predictor_32x32_c;
94262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_dc_predictor_32x32 = vp9_dc_predictor_32x32_sse2;
94362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_dc_predictor_4x4 = vp9_dc_predictor_4x4_c;
94462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_dc_predictor_4x4 = vp9_dc_predictor_4x4_sse;
94562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_dc_predictor_8x8 = vp9_dc_predictor_8x8_c;
94662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_dc_predictor_8x8 = vp9_dc_predictor_8x8_sse;
94762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_fdct16x16 = vp9_fdct16x16_c;
94862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct16x16 = vp9_fdct16x16_sse2;
94988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    vp9_fdct16x16_1 = vp9_fdct16x16_1_c;
95088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct16x16_1 = vp9_fdct16x16_1_sse2;
95162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_fdct32x32 = vp9_fdct32x32_c;
95262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct32x32 = vp9_fdct32x32_sse2;
95388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    vp9_fdct32x32_1 = vp9_fdct32x32_1_c;
95488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct32x32_1 = vp9_fdct32x32_1_sse2;
95562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_fdct32x32_rd = vp9_fdct32x32_rd_c;
95662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct32x32_rd = vp9_fdct32x32_rd_sse2;
95762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_fdct4x4 = vp9_fdct4x4_c;
95862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct4x4 = vp9_fdct4x4_sse2;
95988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    vp9_fdct4x4_1 = vp9_fdct4x4_1_c;
96088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct4x4_1 = vp9_fdct4x4_1_sse2;
96162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_fdct8x8 = vp9_fdct8x8_c;
96262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct8x8 = vp9_fdct8x8_sse2;
96388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    vp9_fdct8x8_1 = vp9_fdct8x8_1_c;
96488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct8x8_1 = vp9_fdct8x8_1_sse2;
96562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_fht16x16 = vp9_fht16x16_c;
96662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fht16x16 = vp9_fht16x16_sse2;
96762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_fht4x4 = vp9_fht4x4_c;
96862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fht4x4 = vp9_fht4x4_sse2;
96962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_fht8x8 = vp9_fht8x8_c;
97062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fht8x8 = vp9_fht8x8_sse2;
97162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_full_search_sad = vp9_full_search_sad_c;
97262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE3) vp9_full_search_sad = vp9_full_search_sadx3;
97362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE4_1) vp9_full_search_sad = vp9_full_search_sadx8;
9747765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org    vp9_fwht4x4 = vp9_fwht4x4_c;
9757765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org    if (flags & HAS_MMX) vp9_fwht4x4 = vp9_fwht4x4_mmx;
97688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    vp9_get16x16var = vp9_get16x16var_c;
97788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSE2) vp9_get16x16var = vp9_get16x16var_sse2;
97888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    vp9_get8x8var = vp9_get8x8var_c;
97988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSE2) vp9_get8x8var = vp9_get8x8var_sse2;
98062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_get_mb_ss = vp9_get_mb_ss_c;
98162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_get_mb_ss = vp9_get_mb_ss_sse2;
98262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_h_predictor_16x16 = vp9_h_predictor_16x16_c;
98362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_h_predictor_16x16 = vp9_h_predictor_16x16_ssse3;
98462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_h_predictor_32x32 = vp9_h_predictor_32x32_c;
98562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_h_predictor_32x32 = vp9_h_predictor_32x32_ssse3;
98662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_h_predictor_4x4 = vp9_h_predictor_4x4_c;
98762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_h_predictor_4x4 = vp9_h_predictor_4x4_ssse3;
98862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_h_predictor_8x8 = vp9_h_predictor_8x8_c;
98962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_h_predictor_8x8 = vp9_h_predictor_8x8_ssse3;
99062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_idct16x16_10_add = vp9_idct16x16_10_add_c;
99162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct16x16_10_add = vp9_idct16x16_10_add_sse2;
99288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_idct16x16_10_add = vp9_idct16x16_10_add_ssse3;
99362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_idct16x16_1_add = vp9_idct16x16_1_add_c;
99462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct16x16_1_add = vp9_idct16x16_1_add_sse2;
99562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_idct16x16_256_add = vp9_idct16x16_256_add_c;
99662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct16x16_256_add = vp9_idct16x16_256_add_sse2;
99788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_idct16x16_256_add = vp9_idct16x16_256_add_ssse3;
99862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_c;
99962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_sse2;
100062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_idct32x32_1_add = vp9_idct32x32_1_add_c;
100162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct32x32_1_add = vp9_idct32x32_1_add_sse2;
100262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_idct32x32_34_add = vp9_idct32x32_34_add_c;
100362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct32x32_34_add = vp9_idct32x32_34_add_sse2;
100462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_idct4x4_16_add = vp9_idct4x4_16_add_c;
100562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct4x4_16_add = vp9_idct4x4_16_add_sse2;
100662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_idct4x4_1_add = vp9_idct4x4_1_add_c;
100762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct4x4_1_add = vp9_idct4x4_1_add_sse2;
10087765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org    vp9_idct8x8_12_add = vp9_idct8x8_12_add_c;
10097765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org    if (flags & HAS_SSE2) vp9_idct8x8_12_add = vp9_idct8x8_12_add_sse2;
101062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_idct8x8_1_add = vp9_idct8x8_1_add_c;
101162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct8x8_1_add = vp9_idct8x8_1_add_sse2;
101262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_idct8x8_64_add = vp9_idct8x8_64_add_c;
101362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct8x8_64_add = vp9_idct8x8_64_add_sse2;
101462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_iht16x16_256_add = vp9_iht16x16_256_add_c;
101562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_iht16x16_256_add = vp9_iht16x16_256_add_sse2;
101662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_iht4x4_16_add = vp9_iht4x4_16_add_c;
101762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_iht4x4_16_add = vp9_iht4x4_16_add_sse2;
101862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_iht8x8_64_add = vp9_iht8x8_64_add_c;
101962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_iht8x8_64_add = vp9_iht8x8_64_add_sse2;
102062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_horizontal_16 = vp9_lpf_horizontal_16_c;
102162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_horizontal_16 = vp9_lpf_horizontal_16_sse2;
102262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_horizontal_4 = vp9_lpf_horizontal_4_c;
102362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_MMX) vp9_lpf_horizontal_4 = vp9_lpf_horizontal_4_mmx;
102462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_horizontal_4_dual = vp9_lpf_horizontal_4_dual_c;
102562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_horizontal_4_dual = vp9_lpf_horizontal_4_dual_sse2;
102662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_horizontal_8 = vp9_lpf_horizontal_8_c;
102762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_horizontal_8 = vp9_lpf_horizontal_8_sse2;
102862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_horizontal_8_dual = vp9_lpf_horizontal_8_dual_c;
102962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_horizontal_8_dual = vp9_lpf_horizontal_8_dual_sse2;
103062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_vertical_16 = vp9_lpf_vertical_16_c;
103162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_vertical_16 = vp9_lpf_vertical_16_sse2;
103262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_vertical_16_dual = vp9_lpf_vertical_16_dual_c;
103362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_vertical_16_dual = vp9_lpf_vertical_16_dual_sse2;
103462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_vertical_4 = vp9_lpf_vertical_4_c;
103562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_MMX) vp9_lpf_vertical_4 = vp9_lpf_vertical_4_mmx;
103662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_vertical_4_dual = vp9_lpf_vertical_4_dual_c;
103762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_vertical_4_dual = vp9_lpf_vertical_4_dual_sse2;
103862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_vertical_8 = vp9_lpf_vertical_8_c;
103962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_vertical_8 = vp9_lpf_vertical_8_sse2;
104062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_c;
104162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_sse2;
104262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_mse16x16 = vp9_mse16x16_c;
104362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_mse16x16 = vp9_mse16x16_sse2;
1044d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org    vp9_mse16x8 = vp9_mse16x8_c;
1045d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org    if (flags & HAS_SSE2) vp9_mse16x8 = vp9_mse16x8_sse2;
1046d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org    vp9_mse8x16 = vp9_mse8x16_c;
1047d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org    if (flags & HAS_SSE2) vp9_mse8x16 = vp9_mse8x16_sse2;
1048d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org    vp9_mse8x8 = vp9_mse8x8_c;
1049d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org    if (flags & HAS_SSE2) vp9_mse8x8 = vp9_mse8x8_sse2;
105062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x16 = vp9_sad16x16_c;
105162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x16 = vp9_sad16x16_sse2;
105262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x16_avg = vp9_sad16x16_avg_c;
105362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x16_avg = vp9_sad16x16_avg_sse2;
105462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x16x3 = vp9_sad16x16x3_c;
105562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE3) vp9_sad16x16x3 = vp9_sad16x16x3_sse3;
105662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sad16x16x3 = vp9_sad16x16x3_ssse3;
105762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x16x4d = vp9_sad16x16x4d_c;
105862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x16x4d = vp9_sad16x16x4d_sse2;
105962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x32 = vp9_sad16x32_c;
106062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x32 = vp9_sad16x32_sse2;
106162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x32_avg = vp9_sad16x32_avg_c;
106262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x32_avg = vp9_sad16x32_avg_sse2;
106362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x32x4d = vp9_sad16x32x4d_c;
106462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x32x4d = vp9_sad16x32x4d_sse2;
106562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x8 = vp9_sad16x8_c;
106662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x8 = vp9_sad16x8_sse2;
106762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x8_avg = vp9_sad16x8_avg_c;
106862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x8_avg = vp9_sad16x8_avg_sse2;
106962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x8x3 = vp9_sad16x8x3_c;
107062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE3) vp9_sad16x8x3 = vp9_sad16x8x3_sse3;
107162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sad16x8x3 = vp9_sad16x8x3_ssse3;
107262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad16x8x4d = vp9_sad16x8x4d_c;
107362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x8x4d = vp9_sad16x8x4d_sse2;
107462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad32x16 = vp9_sad32x16_c;
107562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x16 = vp9_sad32x16_sse2;
107662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad32x16_avg = vp9_sad32x16_avg_c;
107762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x16_avg = vp9_sad32x16_avg_sse2;
107862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad32x16x4d = vp9_sad32x16x4d_c;
107962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x16x4d = vp9_sad32x16x4d_sse2;
108062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad32x32 = vp9_sad32x32_c;
108162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x32 = vp9_sad32x32_sse2;
108262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad32x32_avg = vp9_sad32x32_avg_c;
108362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x32_avg = vp9_sad32x32_avg_sse2;
108462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad32x32x4d = vp9_sad32x32x4d_c;
108562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x32x4d = vp9_sad32x32x4d_sse2;
108662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad32x64 = vp9_sad32x64_c;
108762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x64 = vp9_sad32x64_sse2;
108862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad32x64_avg = vp9_sad32x64_avg_c;
108962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x64_avg = vp9_sad32x64_avg_sse2;
109062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad32x64x4d = vp9_sad32x64x4d_c;
109162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x64x4d = vp9_sad32x64x4d_sse2;
109262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad4x4 = vp9_sad4x4_c;
109362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_sad4x4 = vp9_sad4x4_sse;
109462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad4x4_avg = vp9_sad4x4_avg_c;
109562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_sad4x4_avg = vp9_sad4x4_avg_sse;
109662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad4x4x3 = vp9_sad4x4x3_c;
109762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE3) vp9_sad4x4x3 = vp9_sad4x4x3_sse3;
109862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad4x4x4d = vp9_sad4x4x4d_c;
109962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_sad4x4x4d = vp9_sad4x4x4d_sse;
110062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad4x8 = vp9_sad4x8_c;
110162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_sad4x8 = vp9_sad4x8_sse;
110262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad4x8_avg = vp9_sad4x8_avg_c;
110362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_sad4x8_avg = vp9_sad4x8_avg_sse;
110462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad4x8x4d = vp9_sad4x8x4d_c;
110562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_sad4x8x4d = vp9_sad4x8x4d_sse;
110662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad64x32 = vp9_sad64x32_c;
110762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad64x32 = vp9_sad64x32_sse2;
110862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad64x32_avg = vp9_sad64x32_avg_c;
110962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad64x32_avg = vp9_sad64x32_avg_sse2;
111062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad64x32x4d = vp9_sad64x32x4d_c;
111162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad64x32x4d = vp9_sad64x32x4d_sse2;
111262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad64x64 = vp9_sad64x64_c;
111362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad64x64 = vp9_sad64x64_sse2;
111462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad64x64_avg = vp9_sad64x64_avg_c;
111562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad64x64_avg = vp9_sad64x64_avg_sse2;
111662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad64x64x4d = vp9_sad64x64x4d_c;
111762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad64x64x4d = vp9_sad64x64x4d_sse2;
111862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x16 = vp9_sad8x16_c;
111962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x16 = vp9_sad8x16_sse2;
112062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x16_avg = vp9_sad8x16_avg_c;
112162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x16_avg = vp9_sad8x16_avg_sse2;
112262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x16x3 = vp9_sad8x16x3_c;
112362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE3) vp9_sad8x16x3 = vp9_sad8x16x3_sse3;
112462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x16x4d = vp9_sad8x16x4d_c;
112562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x16x4d = vp9_sad8x16x4d_sse2;
112662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x4 = vp9_sad8x4_c;
112762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x4 = vp9_sad8x4_sse2;
112862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x4_avg = vp9_sad8x4_avg_c;
112962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x4_avg = vp9_sad8x4_avg_sse2;
113062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x4x4d = vp9_sad8x4x4d_c;
113162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x4x4d = vp9_sad8x4x4d_sse2;
113262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x8 = vp9_sad8x8_c;
113362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x8 = vp9_sad8x8_sse2;
113462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x8_avg = vp9_sad8x8_avg_c;
113562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x8_avg = vp9_sad8x8_avg_sse2;
113662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x8x3 = vp9_sad8x8x3_c;
113762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE3) vp9_sad8x8x3 = vp9_sad8x8x3_sse3;
113862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sad8x8x4d = vp9_sad8x8x4d_c;
113962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x8x4d = vp9_sad8x8x4d_sse2;
114062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance16x16 = vp9_sub_pixel_avg_variance16x16_c;
114162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance16x16 = vp9_sub_pixel_avg_variance16x16_sse2;
114262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance16x16 = vp9_sub_pixel_avg_variance16x16_ssse3;
114362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance16x32 = vp9_sub_pixel_avg_variance16x32_c;
114462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance16x32 = vp9_sub_pixel_avg_variance16x32_sse2;
114562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance16x32 = vp9_sub_pixel_avg_variance16x32_ssse3;
114662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance16x8 = vp9_sub_pixel_avg_variance16x8_c;
114762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance16x8 = vp9_sub_pixel_avg_variance16x8_sse2;
114862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance16x8 = vp9_sub_pixel_avg_variance16x8_ssse3;
114962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance32x16 = vp9_sub_pixel_avg_variance32x16_c;
115062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance32x16 = vp9_sub_pixel_avg_variance32x16_sse2;
115162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance32x16 = vp9_sub_pixel_avg_variance32x16_ssse3;
115262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance32x32 = vp9_sub_pixel_avg_variance32x32_c;
115362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance32x32 = vp9_sub_pixel_avg_variance32x32_sse2;
115462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance32x32 = vp9_sub_pixel_avg_variance32x32_ssse3;
115562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance32x64 = vp9_sub_pixel_avg_variance32x64_c;
115662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance32x64 = vp9_sub_pixel_avg_variance32x64_sse2;
115762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance32x64 = vp9_sub_pixel_avg_variance32x64_ssse3;
115862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance4x4 = vp9_sub_pixel_avg_variance4x4_c;
115962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_sub_pixel_avg_variance4x4 = vp9_sub_pixel_avg_variance4x4_sse;
116062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance4x4 = vp9_sub_pixel_avg_variance4x4_ssse3;
116162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance4x8 = vp9_sub_pixel_avg_variance4x8_c;
116262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_sub_pixel_avg_variance4x8 = vp9_sub_pixel_avg_variance4x8_sse;
116362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance4x8 = vp9_sub_pixel_avg_variance4x8_ssse3;
116462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance64x32 = vp9_sub_pixel_avg_variance64x32_c;
116562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance64x32 = vp9_sub_pixel_avg_variance64x32_sse2;
116662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance64x32 = vp9_sub_pixel_avg_variance64x32_ssse3;
116762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance64x64 = vp9_sub_pixel_avg_variance64x64_c;
116862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance64x64 = vp9_sub_pixel_avg_variance64x64_sse2;
116962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance64x64 = vp9_sub_pixel_avg_variance64x64_ssse3;
117062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance8x16 = vp9_sub_pixel_avg_variance8x16_c;
117162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance8x16 = vp9_sub_pixel_avg_variance8x16_sse2;
117262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance8x16 = vp9_sub_pixel_avg_variance8x16_ssse3;
117362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance8x4 = vp9_sub_pixel_avg_variance8x4_c;
117462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance8x4 = vp9_sub_pixel_avg_variance8x4_sse2;
117562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance8x4 = vp9_sub_pixel_avg_variance8x4_ssse3;
117662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_avg_variance8x8 = vp9_sub_pixel_avg_variance8x8_c;
117762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_avg_variance8x8 = vp9_sub_pixel_avg_variance8x8_sse2;
117862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance8x8 = vp9_sub_pixel_avg_variance8x8_ssse3;
117962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance16x16 = vp9_sub_pixel_variance16x16_c;
118062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance16x16 = vp9_sub_pixel_variance16x16_sse2;
118162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance16x16 = vp9_sub_pixel_variance16x16_ssse3;
118262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance16x32 = vp9_sub_pixel_variance16x32_c;
118362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance16x32 = vp9_sub_pixel_variance16x32_sse2;
118462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance16x32 = vp9_sub_pixel_variance16x32_ssse3;
118562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance16x8 = vp9_sub_pixel_variance16x8_c;
118662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance16x8 = vp9_sub_pixel_variance16x8_sse2;
118762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance16x8 = vp9_sub_pixel_variance16x8_ssse3;
118862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance32x16 = vp9_sub_pixel_variance32x16_c;
118962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance32x16 = vp9_sub_pixel_variance32x16_sse2;
119062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance32x16 = vp9_sub_pixel_variance32x16_ssse3;
119162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance32x32 = vp9_sub_pixel_variance32x32_c;
119262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance32x32 = vp9_sub_pixel_variance32x32_sse2;
119362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance32x32 = vp9_sub_pixel_variance32x32_ssse3;
119462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance32x64 = vp9_sub_pixel_variance32x64_c;
119562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance32x64 = vp9_sub_pixel_variance32x64_sse2;
119662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance32x64 = vp9_sub_pixel_variance32x64_ssse3;
119762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance4x4 = vp9_sub_pixel_variance4x4_c;
119862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_sub_pixel_variance4x4 = vp9_sub_pixel_variance4x4_sse;
119962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance4x4 = vp9_sub_pixel_variance4x4_ssse3;
120062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance4x8 = vp9_sub_pixel_variance4x8_c;
120162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_sub_pixel_variance4x8 = vp9_sub_pixel_variance4x8_sse;
120262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance4x8 = vp9_sub_pixel_variance4x8_ssse3;
120362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance64x32 = vp9_sub_pixel_variance64x32_c;
120462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance64x32 = vp9_sub_pixel_variance64x32_sse2;
120562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance64x32 = vp9_sub_pixel_variance64x32_ssse3;
120662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance64x64 = vp9_sub_pixel_variance64x64_c;
120762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance64x64 = vp9_sub_pixel_variance64x64_sse2;
120862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance64x64 = vp9_sub_pixel_variance64x64_ssse3;
120962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance8x16 = vp9_sub_pixel_variance8x16_c;
121062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance8x16 = vp9_sub_pixel_variance8x16_sse2;
121162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance8x16 = vp9_sub_pixel_variance8x16_ssse3;
121262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance8x4 = vp9_sub_pixel_variance8x4_c;
121362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance8x4 = vp9_sub_pixel_variance8x4_sse2;
121462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance8x4 = vp9_sub_pixel_variance8x4_ssse3;
121562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8_c;
121662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8_sse2;
121762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8_ssse3;
121862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_subtract_block = vp9_subtract_block_c;
121962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_subtract_block = vp9_subtract_block_sse2;
122062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_temporal_filter_apply = vp9_temporal_filter_apply_c;
122162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_temporal_filter_apply = vp9_temporal_filter_apply_sse2;
122262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_tm_predictor_16x16 = vp9_tm_predictor_16x16_c;
122362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_tm_predictor_16x16 = vp9_tm_predictor_16x16_sse2;
122462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_tm_predictor_4x4 = vp9_tm_predictor_4x4_c;
122562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_tm_predictor_4x4 = vp9_tm_predictor_4x4_sse;
122662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_tm_predictor_8x8 = vp9_tm_predictor_8x8_c;
122762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_tm_predictor_8x8 = vp9_tm_predictor_8x8_sse2;
122862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_v_predictor_16x16 = vp9_v_predictor_16x16_c;
122962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_v_predictor_16x16 = vp9_v_predictor_16x16_sse2;
123062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_v_predictor_32x32 = vp9_v_predictor_32x32_c;
123162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_v_predictor_32x32 = vp9_v_predictor_32x32_sse2;
123262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_v_predictor_4x4 = vp9_v_predictor_4x4_c;
123362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_v_predictor_4x4 = vp9_v_predictor_4x4_sse;
123462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_v_predictor_8x8 = vp9_v_predictor_8x8_c;
123562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE) vp9_v_predictor_8x8 = vp9_v_predictor_8x8_sse;
123662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance16x16 = vp9_variance16x16_c;
123762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance16x16 = vp9_variance16x16_sse2;
123862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance16x32 = vp9_variance16x32_c;
123962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance16x32 = vp9_variance16x32_sse2;
124062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance16x8 = vp9_variance16x8_c;
124162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance16x8 = vp9_variance16x8_sse2;
124262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance32x16 = vp9_variance32x16_c;
124362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance32x16 = vp9_variance32x16_sse2;
124462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance32x32 = vp9_variance32x32_c;
124562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance32x32 = vp9_variance32x32_sse2;
124662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance32x64 = vp9_variance32x64_c;
124762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance32x64 = vp9_variance32x64_sse2;
124862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance4x4 = vp9_variance4x4_c;
124962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance4x4 = vp9_variance4x4_sse2;
125062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance4x8 = vp9_variance4x8_c;
125162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance4x8 = vp9_variance4x8_sse2;
125262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance64x32 = vp9_variance64x32_c;
125362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance64x32 = vp9_variance64x32_sse2;
125462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance64x64 = vp9_variance64x64_c;
125562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance64x64 = vp9_variance64x64_sse2;
125662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance8x16 = vp9_variance8x16_c;
125762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance8x16 = vp9_variance8x16_sse2;
125862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance8x4 = vp9_variance8x4_c;
125962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance8x4 = vp9_variance8x4_sse2;
126062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    vp9_variance8x8 = vp9_variance8x8_c;
126162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org    if (flags & HAS_SSE2) vp9_variance8x8 = vp9_variance8x8_sse2;
12626fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org}
12636fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#endif
1264dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
1265dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
1266dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org}  // extern "C"
1267dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
1268dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
12696fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#endif
1270