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);
33daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_block_error vp9_block_error_c
34daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
35daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
36daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
37daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
38daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
39daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
40daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
41daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
42daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
43daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
44daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
45daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
46daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
47daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
48daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
49daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
50daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
51daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
52daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
53daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
54daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
55daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
56daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
57daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
58daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
59daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
60daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
61daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
62daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
63daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
64daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
65daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
66daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_convolve_avg vp9_convolve_avg_c
67daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
68daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
69daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_convolve_copy vp9_convolve_copy_c
70daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
71daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
72daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c
73daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
74daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
75daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c
766fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
7753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
7847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org#define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c
796fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
80daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
81daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c
82daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
83daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
84daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c
85daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
86daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
87daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c
88daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
8953a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
9047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org#define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c
916fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
92daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
93daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c
9447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
95daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
96daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d153_predictor_16x16 vp9_d153_predictor_16x16_c
9747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
98daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
99daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c
10047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
101daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
102daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d153_predictor_4x4 vp9_d153_predictor_4x4_c
10347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
104daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
105daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d153_predictor_8x8 vp9_d153_predictor_8x8_c
10647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
107daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
108daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d207_predictor_16x16 vp9_d207_predictor_16x16_c
10947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
110daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
111daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d207_predictor_32x32 vp9_d207_predictor_32x32_c
112daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
113daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
114daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d207_predictor_4x4 vp9_d207_predictor_4x4_c
11547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
11653a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
11753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org#define vp9_d207_predictor_8x8 vp9_d207_predictor_8x8_c
11847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
119daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
120daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d45_predictor_16x16 vp9_d45_predictor_16x16_c
121daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
122daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
123daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d45_predictor_32x32 vp9_d45_predictor_32x32_c
124daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
125daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
126daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d45_predictor_4x4 vp9_d45_predictor_4x4_c
127daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
12853a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
12947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org#define vp9_d45_predictor_8x8 vp9_d45_predictor_8x8_c
13047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
131daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
132daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d63_predictor_16x16 vp9_d63_predictor_16x16_c
133daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
134daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
135daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d63_predictor_32x32 vp9_d63_predictor_32x32_c
136daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
137daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
138daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_d63_predictor_4x4 vp9_d63_predictor_4x4_c
139daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
14053a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
14147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org#define vp9_d63_predictor_8x8 vp9_d63_predictor_8x8_c
14247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
143daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
144daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c
14547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
146daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
147daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c
14847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
149daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
150daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c
15147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
152daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
153daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c
15447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
155daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
156daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c
15747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
158daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
159daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c
160daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
161daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
162daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c
163daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
164daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
165daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c
166daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
167daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
168daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_predictor_16x16 vp9_dc_predictor_16x16_c
169daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
170daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
171daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_predictor_32x32 vp9_dc_predictor_32x32_c
172daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
173daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
174daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_predictor_4x4 vp9_dc_predictor_4x4_c
17547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
17653a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
17753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org#define vp9_dc_predictor_8x8 vp9_dc_predictor_8x8_c
17847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
179daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
180daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c
181daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
182daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
183daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c
184daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
185daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
186daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c
187daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
18853a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
18947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org#define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c
19047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
19177496404dc182c2f4a5f86ebabffe1d1ceb81e7ejohannkoenig@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);
19295aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com#define vp9_diamond_search_sad vp9_diamond_search_sad_c
19347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
19487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
19587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_sse2(const int16_t *input, tran_low_t *output, int stride);
19687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct16x16)(const int16_t *input, tran_low_t *output, int stride);
19747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
19887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
19987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_1_sse2(const int16_t *input, tran_low_t *output, int stride);
20087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct16x16_1)(const int16_t *input, tran_low_t *output, int stride);
20188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
20287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
20387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_sse2(const int16_t *input, tran_low_t *output, int stride);
20487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct32x32)(const int16_t *input, tran_low_t *output, int stride);
20547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
20687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
20787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_1_sse2(const int16_t *input, tran_low_t *output, int stride);
20887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct32x32_1)(const int16_t *input, tran_low_t *output, int stride);
20988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
21087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
21187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_rd_sse2(const int16_t *input, tran_low_t *output, int stride);
21287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct32x32_rd)(const int16_t *input, tran_low_t *output, int stride);
21347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
21487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
21587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_sse2(const int16_t *input, tran_low_t *output, int stride);
21687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct4x4)(const int16_t *input, tran_low_t *output, int stride);
217daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
21887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
21987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_1_sse2(const int16_t *input, tran_low_t *output, int stride);
22087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct4x4_1)(const int16_t *input, tran_low_t *output, int stride);
22188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
22287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
22387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_sse2(const int16_t *input, tran_low_t *output, int stride);
22487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct8x8)(const int16_t *input, tran_low_t *output, int stride);
225daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
22687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
22787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_1_sse2(const int16_t *input, tran_low_t *output, int stride);
22887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct8x8_1)(const int16_t *input, tran_low_t *output, int stride);
22988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
23087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
23187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht16x16_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type);
23287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fht16x16)(const int16_t *input, tran_low_t *output, int stride, int tx_type);
233daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
23487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
23587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht4x4_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type);
23687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fht4x4)(const int16_t *input, tran_low_t *output, int stride, int tx_type);
237daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
23887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type);
23987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht8x8_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type);
24087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fht8x8)(const int16_t *input, tran_low_t *output, int stride, int tx_type);
241daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
24277496404dc182c2f4a5f86ebabffe1d1ceb81e7ejohannkoenig@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);
243daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_full_range_search vp9_full_range_search_c
244daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
245693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@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);
246693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@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);
247693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@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);
248693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@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);
249daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
25087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride);
251daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_fwht4x4 vp9_fwht4x4_c
252daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
25388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
25488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org#define vp9_get16x16var vp9_get16x16var_c
25588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
25688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
257d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_get8x8var vp9_get8x8var_c
25888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org
259daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgunsigned int vp9_get_mb_ss_c(const int16_t *);
260d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_get_mb_ss vp9_get_mb_ss_c
261daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
26253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
26353a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org#define vp9_h_predictor_16x16 vp9_h_predictor_16x16_c
26447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
265daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
266daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_h_predictor_32x32 vp9_h_predictor_32x32_c
26747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
268daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
269daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_h_predictor_4x4 vp9_h_predictor_4x4_c
27047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
271daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
272daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_h_predictor_8x8 vp9_h_predictor_8x8_c
27347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
27487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
27587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_10_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
27687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_10_add_ssse3(const tran_low_t *input, uint8_t *dest, int dest_stride);
27787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct16x16_10_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
27847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
27987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
28087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
28187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct16x16_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
28247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
28387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
28487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_256_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
28587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_256_add_ssse3(const tran_low_t *input, uint8_t *dest, int dest_stride);
28687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct16x16_256_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
28747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
28887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
28987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1024_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
29087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct32x32_1024_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
29147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
29287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
29387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
29487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct32x32_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
29547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
29687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
29787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_34_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
29887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct32x32_34_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
29947265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
30087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
30187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
30287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct4x4_16_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
30347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
30487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
30587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
30687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct4x4_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
30747265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org
30887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
30987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_12_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
31087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct8x8_12_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
311daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
31287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
31387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
31487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct8x8_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
315daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
31687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
31787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride);
31887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct8x8_64_add)(const tran_low_t *input, uint8_t *dest, int dest_stride);
319daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
32087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
32187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht16x16_256_add_sse2(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
32287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_iht16x16_256_add)(const tran_low_t *input, uint8_t *output, int pitch, int tx_type);
323daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
32487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
32587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
32687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_iht4x4_16_add)(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
327daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
32887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
32987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
33087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_iht8x8_64_add)(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type);
331daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
33287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
333daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_iwht4x4_16_add vp9_iwht4x4_16_add_c
334daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
33587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride);
336daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_iwht4x4_1_add vp9_iwht4x4_1_add_c
337daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
338daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
339daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
340daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
341daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
342daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
343daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
344daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
345daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
346daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
347daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
348daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
349daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
350daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
351daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
352daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
353daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
354daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
355daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
356daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
357daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
358daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
359daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_lpf_vertical_16_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
360daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
361daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
362daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
363daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
364daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
365daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
366daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
367daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
368daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
369daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
370daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
371daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
372daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
373daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
374daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
375daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
376daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
377daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
378daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
379daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
380daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
381daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
382daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
383d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_mse16x16 vp9_mse16x16_c
384daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
385daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
386daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_mse16x8 vp9_mse16x8_c
387daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
388daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
389daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_mse8x16 vp9_mse8x16_c
390daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
391daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
392daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_mse8x8 vp9_mse8x8_c
393daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
39487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@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);
395daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_quantize_b vp9_quantize_b_c
396daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
39787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@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);
398daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_quantize_b_32x32 vp9_quantize_b_32x32_c
399daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
40087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@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);
401e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.org#define vp9_quantize_fp vp9_quantize_fp_c
402e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.org
40387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@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);
40495aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com#define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c
40595aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com
406693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@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);
40795aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com#define vp9_refining_search_sad vp9_refining_search_sad_c
408daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
40988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
410d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_sad16x16 vp9_sad16x16_c
411daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
41288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
413daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad16x16_avg vp9_sad16x16_avg_c
414daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
415daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
416daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
417daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
418daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
419daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
420daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
421daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
422daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
423daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
424daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
425daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad16x16x8 vp9_sad16x16x8_c
426daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
42788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
428daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad16x32 vp9_sad16x32_c
429daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
43088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
431daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad16x32_avg vp9_sad16x32_avg_c
432daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
433daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
434daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
435daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
436daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
43788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
438d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_sad16x8 vp9_sad16x8_c
439daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
44088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
441daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad16x8_avg vp9_sad16x8_avg_c
442daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
443daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
444daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
445daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
446daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
447daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
448daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
449daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
450daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
451daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
452daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
453daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad16x8x8 vp9_sad16x8x8_c
454daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
45588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
456daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad32x16 vp9_sad32x16_c
457daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
45888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
459daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad32x16_avg vp9_sad32x16_avg_c
460daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
461daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
462daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
463daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
464daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
46588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
466daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad32x32 vp9_sad32x32_c
467daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
46888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
469daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad32x32_avg vp9_sad32x32_avg_c
470daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
471daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
472daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad32x32x3 vp9_sad32x32x3_c
473daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
474daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
475daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
476daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
477daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
478daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
479daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad32x32x8 vp9_sad32x32x8_c
480daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
48188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
482daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad32x64 vp9_sad32x64_c
483daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
48488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
485daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad32x64_avg vp9_sad32x64_avg_c
486daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
487daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
488daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
489daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
490daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
49188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
492d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_sad4x4 vp9_sad4x4_c
493daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
49488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
495daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad4x4_avg vp9_sad4x4_avg_c
496daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
497daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
498daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
499daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
500daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
501daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
502daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
503daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
504daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
505daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
506daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad4x4x8 vp9_sad4x4x8_c
507daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
50888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
509daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad4x8 vp9_sad4x8_c
510daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
51188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
512daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad4x8_avg vp9_sad4x8_avg_c
513daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
514daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
515daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
516daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
517daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
518daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
519daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad4x8x8 vp9_sad4x8x8_c
520daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
52188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
522daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad64x32 vp9_sad64x32_c
523daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
52488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
525daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad64x32_avg vp9_sad64x32_avg_c
526daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
527daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
528daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
529daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
530daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
53188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
532daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad64x64 vp9_sad64x64_c
533daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
53488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
535daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad64x64_avg vp9_sad64x64_avg_c
536daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
537daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
538daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad64x64x3 vp9_sad64x64x3_c
539daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
540daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
541daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
542daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
543daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
544daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
545daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad64x64x8 vp9_sad64x64x8_c
546daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
54788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
548d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_sad8x16 vp9_sad8x16_c
549daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
55088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
551daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad8x16_avg vp9_sad8x16_avg_c
552daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
553daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
554daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
555daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
556daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
557daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
558daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
559daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
560daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
561daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
562daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad8x16x8 vp9_sad8x16x8_c
563daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
56488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride);
565daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad8x4 vp9_sad8x4_c
566daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
56788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
568daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad8x4_avg vp9_sad8x4_avg_c
569daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
570daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
571daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
572daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
573daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
574daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
575daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad8x4x8 vp9_sad8x4x8_c
576daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
57788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride);
578d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_sad8x8 vp9_sad8x8_c
579daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
58088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
581daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad8x8_avg vp9_sad8x8_avg_c
582daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
583daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
584daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
585daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
586daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
587daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
588daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
589daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
590daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
591daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
592daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sad8x8x8 vp9_sad8x8x8_c
593daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
594daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
595daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance16x16 vp9_sub_pixel_avg_variance16x16_c
596daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
597daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
598daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance16x32 vp9_sub_pixel_avg_variance16x32_c
599daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
600daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
601daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance16x8 vp9_sub_pixel_avg_variance16x8_c
602daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
603daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
604daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance32x16 vp9_sub_pixel_avg_variance32x16_c
605daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
606daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
607497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_sub_pixel_avg_variance32x32 vp9_sub_pixel_avg_variance32x32_c
608daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
609daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
610daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance32x64 vp9_sub_pixel_avg_variance32x64_c
611daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
612daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
613daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance4x4 vp9_sub_pixel_avg_variance4x4_c
614daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
615daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
616daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance4x8 vp9_sub_pixel_avg_variance4x8_c
617daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
618daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
619daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance64x32 vp9_sub_pixel_avg_variance64x32_c
620daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
621daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
622497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_sub_pixel_avg_variance64x64 vp9_sub_pixel_avg_variance64x64_c
623daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
624daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
625daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance8x16 vp9_sub_pixel_avg_variance8x16_c
626daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
627daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
628daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance8x4 vp9_sub_pixel_avg_variance8x4_c
629daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
630daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
631daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_avg_variance8x8 vp9_sub_pixel_avg_variance8x8_c
632daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
633daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
634daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance16x16 vp9_sub_pixel_variance16x16_c
635daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
636daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
637daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance16x32 vp9_sub_pixel_variance16x32_c
638daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
639daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
640daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance16x8 vp9_sub_pixel_variance16x8_c
641daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
642daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
643daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance32x16 vp9_sub_pixel_variance32x16_c
644daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
645daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
646497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_sub_pixel_variance32x32 vp9_sub_pixel_variance32x32_c
647daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
648daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
649daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance32x64 vp9_sub_pixel_variance32x64_c
650daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
651daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
652daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance4x4 vp9_sub_pixel_variance4x4_c
653daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
654daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
655daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance4x8 vp9_sub_pixel_variance4x8_c
656daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
657daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
658daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance64x32 vp9_sub_pixel_variance64x32_c
659daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
660daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
661497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_sub_pixel_variance64x64 vp9_sub_pixel_variance64x64_c
662daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
663daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
664daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance8x16 vp9_sub_pixel_variance8x16_c
665daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
666daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
667daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance8x4 vp9_sub_pixel_variance8x4_c
668daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
669daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
670daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_sub_pixel_variance8x8 vp9_sub_pixel_variance8x8_c
671daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
672daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
673daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_subtract_block vp9_subtract_block_c
674daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
67588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
67688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
67788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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);
678daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
679daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
680daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_tm_predictor_16x16 vp9_tm_predictor_16x16_c
681daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
682daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
683daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_tm_predictor_32x32 vp9_tm_predictor_32x32_c
684daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
685daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
686daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_tm_predictor_4x4 vp9_tm_predictor_4x4_c
687daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
688daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
689daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_tm_predictor_8x8 vp9_tm_predictor_8x8_c
690daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
691daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
692daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_v_predictor_16x16 vp9_v_predictor_16x16_c
693daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
694daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
695daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_v_predictor_32x32 vp9_v_predictor_32x32_c
696daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
697daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
698daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_v_predictor_4x4 vp9_v_predictor_4x4_c
699daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
700daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
701daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_v_predictor_8x8 vp9_v_predictor_8x8_c
702daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
703daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
704d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_variance16x16 vp9_variance16x16_c
705daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
706daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
707daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_variance16x32 vp9_variance16x32_c
708daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
709daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
710d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_variance16x8 vp9_variance16x8_c
711daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
712daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
713daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_variance32x16 vp9_variance32x16_c
714daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
715daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
716daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_variance32x32 vp9_variance32x32_c
717daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
718daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
719daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_variance32x64 vp9_variance32x64_c
720daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
721daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
722d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_variance4x4 vp9_variance4x4_c
723daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
724daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
725daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_variance4x8 vp9_variance4x8_c
726daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
727daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
728daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_variance64x32 vp9_variance64x32_c
729daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
730daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
731daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_variance64x64 vp9_variance64x64_c
732daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
733daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
734d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_variance8x16 vp9_variance8x16_c
735daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
736daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
737daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp9_variance8x4 vp9_variance8x4_c
738daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
739daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
740d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_variance8x8 vp9_variance8x8_c
741daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
742daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp9_rtcd(void);
743daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
744daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#ifdef RTCD_C
745daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#include "vpx_ports/x86.h"
746daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgstatic void setup_rtcd_internal(void)
747daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org{
748daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    int flags = x86_simd_caps();
749daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
750daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    (void)flags;
751daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
752daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_convolve8 = vp9_convolve8_c;
753daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8 = vp9_convolve8_sse2;
754daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8 = vp9_convolve8_ssse3;
755daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_convolve8_avg = vp9_convolve8_avg_c;
756daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8_avg = vp9_convolve8_avg_sse2;
757daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8_avg = vp9_convolve8_avg_ssse3;
758daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_c;
759daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_sse2;
760daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_ssse3;
761daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_c;
762daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_sse2;
763daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_ssse3;
764daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_convolve8_horiz = vp9_convolve8_horiz_c;
765daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8_horiz = vp9_convolve8_horiz_sse2;
766daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8_horiz = vp9_convolve8_horiz_ssse3;
767daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_convolve8_vert = vp9_convolve8_vert_c;
768daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_convolve8_vert = vp9_convolve8_vert_sse2;
769daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_convolve8_vert = vp9_convolve8_vert_ssse3;
770daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_fdct16x16 = vp9_fdct16x16_c;
771daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct16x16 = vp9_fdct16x16_sse2;
77288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    vp9_fdct16x16_1 = vp9_fdct16x16_1_c;
77388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct16x16_1 = vp9_fdct16x16_1_sse2;
774daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_fdct32x32 = vp9_fdct32x32_c;
775daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct32x32 = vp9_fdct32x32_sse2;
77688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    vp9_fdct32x32_1 = vp9_fdct32x32_1_c;
77788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct32x32_1 = vp9_fdct32x32_1_sse2;
778daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_fdct32x32_rd = vp9_fdct32x32_rd_c;
779daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct32x32_rd = vp9_fdct32x32_rd_sse2;
780daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_fdct4x4 = vp9_fdct4x4_c;
781daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct4x4 = vp9_fdct4x4_sse2;
78288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    vp9_fdct4x4_1 = vp9_fdct4x4_1_c;
78388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct4x4_1 = vp9_fdct4x4_1_sse2;
784daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_fdct8x8 = vp9_fdct8x8_c;
785daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct8x8 = vp9_fdct8x8_sse2;
78688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    vp9_fdct8x8_1 = vp9_fdct8x8_1_c;
78788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fdct8x8_1 = vp9_fdct8x8_1_sse2;
788daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_fht16x16 = vp9_fht16x16_c;
789daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fht16x16 = vp9_fht16x16_sse2;
790daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_fht4x4 = vp9_fht4x4_c;
791daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fht4x4 = vp9_fht4x4_sse2;
792daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_fht8x8 = vp9_fht8x8_c;
793daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_fht8x8 = vp9_fht8x8_sse2;
794daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_full_search_sad = vp9_full_search_sad_c;
795daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE3) vp9_full_search_sad = vp9_full_search_sadx3;
796daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE4_1) vp9_full_search_sad = vp9_full_search_sadx8;
797daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_idct16x16_10_add = vp9_idct16x16_10_add_c;
798daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct16x16_10_add = vp9_idct16x16_10_add_sse2;
79988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_idct16x16_10_add = vp9_idct16x16_10_add_ssse3;
800daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_idct16x16_1_add = vp9_idct16x16_1_add_c;
801daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct16x16_1_add = vp9_idct16x16_1_add_sse2;
802daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_idct16x16_256_add = vp9_idct16x16_256_add_c;
803daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct16x16_256_add = vp9_idct16x16_256_add_sse2;
80488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_idct16x16_256_add = vp9_idct16x16_256_add_ssse3;
805daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_c;
806daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_sse2;
807daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_idct32x32_1_add = vp9_idct32x32_1_add_c;
808daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct32x32_1_add = vp9_idct32x32_1_add_sse2;
809daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_idct32x32_34_add = vp9_idct32x32_34_add_c;
810daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct32x32_34_add = vp9_idct32x32_34_add_sse2;
811daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_idct4x4_16_add = vp9_idct4x4_16_add_c;
812daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct4x4_16_add = vp9_idct4x4_16_add_sse2;
813daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_idct4x4_1_add = vp9_idct4x4_1_add_c;
814daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct4x4_1_add = vp9_idct4x4_1_add_sse2;
8157765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org    vp9_idct8x8_12_add = vp9_idct8x8_12_add_c;
8167765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org    if (flags & HAS_SSE2) vp9_idct8x8_12_add = vp9_idct8x8_12_add_sse2;
817daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_idct8x8_1_add = vp9_idct8x8_1_add_c;
818daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct8x8_1_add = vp9_idct8x8_1_add_sse2;
819daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_idct8x8_64_add = vp9_idct8x8_64_add_c;
820daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_idct8x8_64_add = vp9_idct8x8_64_add_sse2;
821daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_iht16x16_256_add = vp9_iht16x16_256_add_c;
822daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_iht16x16_256_add = vp9_iht16x16_256_add_sse2;
823daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_iht4x4_16_add = vp9_iht4x4_16_add_c;
824daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_iht4x4_16_add = vp9_iht4x4_16_add_sse2;
825daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_iht8x8_64_add = vp9_iht8x8_64_add_c;
826daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_iht8x8_64_add = vp9_iht8x8_64_add_sse2;
827daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_horizontal_16 = vp9_lpf_horizontal_16_c;
828daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_horizontal_16 = vp9_lpf_horizontal_16_sse2;
829daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_horizontal_4 = vp9_lpf_horizontal_4_c;
830daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_MMX) vp9_lpf_horizontal_4 = vp9_lpf_horizontal_4_mmx;
831daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_horizontal_4_dual = vp9_lpf_horizontal_4_dual_c;
832daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_horizontal_4_dual = vp9_lpf_horizontal_4_dual_sse2;
833daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_horizontal_8 = vp9_lpf_horizontal_8_c;
834daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_horizontal_8 = vp9_lpf_horizontal_8_sse2;
835daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_horizontal_8_dual = vp9_lpf_horizontal_8_dual_c;
836daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_horizontal_8_dual = vp9_lpf_horizontal_8_dual_sse2;
837daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_vertical_16 = vp9_lpf_vertical_16_c;
838daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_vertical_16 = vp9_lpf_vertical_16_sse2;
839daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_vertical_16_dual = vp9_lpf_vertical_16_dual_c;
840daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_vertical_16_dual = vp9_lpf_vertical_16_dual_sse2;
841daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_vertical_4 = vp9_lpf_vertical_4_c;
842daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_MMX) vp9_lpf_vertical_4 = vp9_lpf_vertical_4_mmx;
843daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_vertical_4_dual = vp9_lpf_vertical_4_dual_c;
844daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_vertical_4_dual = vp9_lpf_vertical_4_dual_sse2;
845daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_vertical_8 = vp9_lpf_vertical_8_c;
846daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_vertical_8 = vp9_lpf_vertical_8_sse2;
847daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_c;
848daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_sse2;
849daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad16x16x3 = vp9_sad16x16x3_c;
850daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE3) vp9_sad16x16x3 = vp9_sad16x16x3_sse3;
851daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sad16x16x3 = vp9_sad16x16x3_ssse3;
852daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad16x16x4d = vp9_sad16x16x4d_c;
853daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x16x4d = vp9_sad16x16x4d_sse2;
854daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad16x32x4d = vp9_sad16x32x4d_c;
855daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x32x4d = vp9_sad16x32x4d_sse2;
856daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad16x8x3 = vp9_sad16x8x3_c;
857daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE3) vp9_sad16x8x3 = vp9_sad16x8x3_sse3;
858daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSSE3) vp9_sad16x8x3 = vp9_sad16x8x3_ssse3;
859daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad16x8x4d = vp9_sad16x8x4d_c;
860daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad16x8x4d = vp9_sad16x8x4d_sse2;
861daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad32x16x4d = vp9_sad32x16x4d_c;
862daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x16x4d = vp9_sad32x16x4d_sse2;
863daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad32x32x4d = vp9_sad32x32x4d_c;
864daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x32x4d = vp9_sad32x32x4d_sse2;
865daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad32x64x4d = vp9_sad32x64x4d_c;
866daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad32x64x4d = vp9_sad32x64x4d_sse2;
867daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad4x4x3 = vp9_sad4x4x3_c;
868daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE3) vp9_sad4x4x3 = vp9_sad4x4x3_sse3;
869daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad4x4x4d = vp9_sad4x4x4d_c;
870daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE) vp9_sad4x4x4d = vp9_sad4x4x4d_sse;
871daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad4x8x4d = vp9_sad4x8x4d_c;
872daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE) vp9_sad4x8x4d = vp9_sad4x8x4d_sse;
873daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad64x32x4d = vp9_sad64x32x4d_c;
874daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad64x32x4d = vp9_sad64x32x4d_sse2;
875daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad64x64x4d = vp9_sad64x64x4d_c;
876daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad64x64x4d = vp9_sad64x64x4d_sse2;
877daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad8x16x3 = vp9_sad8x16x3_c;
878daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE3) vp9_sad8x16x3 = vp9_sad8x16x3_sse3;
879daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad8x16x4d = vp9_sad8x16x4d_c;
880daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x16x4d = vp9_sad8x16x4d_sse2;
881daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad8x4x4d = vp9_sad8x4x4d_c;
882daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x4x4d = vp9_sad8x4x4d_sse2;
883daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad8x8x3 = vp9_sad8x8x3_c;
884daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE3) vp9_sad8x8x3 = vp9_sad8x8x3_sse3;
885daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_sad8x8x4d = vp9_sad8x8x4d_c;
886daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_sad8x8x4d = vp9_sad8x8x4d_sse2;
887daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    vp9_temporal_filter_apply = vp9_temporal_filter_apply_c;
888daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org    if (flags & HAS_SSE2) vp9_temporal_filter_apply = vp9_temporal_filter_apply_sse2;
8896fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org}
8906fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#endif
891dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
892dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
893dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org}  // extern "C"
894dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
895dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
8966fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#endif
897