14b95526e5c4eb4fecde1cd642cf991a82c51b9f2johannkoenig@chromium.org#ifndef VP9_RTCD_H_ 24b95526e5c4eb4fecde1cd642cf991a82c51b9f2johannkoenig@chromium.org#define VP9_RTCD_H_ 38ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org 48ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#ifdef RTCD_C 58ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#define RTCD_EXTERN 68ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#else 78ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#define RTCD_EXTERN extern 88ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#endif 98ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org 108ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org/* 118ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org * VP9 128ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org */ 138ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org 148ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@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" 178ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org 188ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.orgstruct macroblockd; 198ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org 208ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org/* Encoder forward decls */ 218ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.orgstruct macroblock; 224b95526e5c4eb4fecde1cd642cf991a82c51b9f2johannkoenig@chromium.orgstruct vp9_variance_vtable; 2377496404dc182c2f4a5f86ebabffe1d1ceb81e7ejohannkoenig@chromium.orgstruct search_site_config; 24d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.orgstruct mv; 258ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.orgunion int_mv; 268ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.orgstruct yv12_buffer_config; 278ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org 2887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#ifdef __cplusplus 2987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgextern "C" { 3087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#endif 3187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org 3287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgint64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); 3387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgint64_t vp9_block_error_sse2(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); 3462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_block_error vp9_block_error_sse2 3562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 3662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 3762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 3862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 3962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 4062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 4162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 4262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 4362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 4462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 4562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 4662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 4762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_horiz_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 4862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_horiz_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 4962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8_avg_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 5062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 5162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 5262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_vert_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 5362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_avg_vert_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 5462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8_avg_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 5562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 5662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 5762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_horiz_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 5862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_horiz_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 5962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 6062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 6162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 6262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_vert_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 6362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve8_vert_ssse3(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 6462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_convolve8_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 6562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 6662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 6762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve_avg_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 6862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_convolve_avg vp9_convolve_avg_sse2 6962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 7062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 7162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_convolve_copy_sse2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 7262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_convolve_copy vp9_convolve_copy_sse2 7362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 7462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 7562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c 7662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 7762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 7862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c 79511499294b6e6b7ce4e4071f0d4a72f0f8c31a19johannkoenig@chromium.org 8053a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 8147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org#define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c 828ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org 8362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 8462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c 8562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 8662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 8762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c 8862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 8962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 9062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c 9162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 9253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 9347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org#define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c 948ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org 9562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 9662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c 9762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 9862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 9962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 10062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d153_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 10162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 10262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 10362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c 10462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 10553a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 1060d106b34dc08439a7c6887d1316a3e1a35f8f0cajohannkoenig@chromium.orgvoid vp9_d153_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 1070d106b34dc08439a7c6887d1316a3e1a35f8f0cajohannkoenig@chromium.orgRTCD_EXTERN void (*vp9_d153_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 10847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org 10962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 11062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d153_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 11162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d153_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 11247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org 11362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 11462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 11562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d207_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 11647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org 11762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 11862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 11962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d207_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 12047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org 12162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 12262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d207_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 12362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d207_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 12447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org 12553a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 1260d106b34dc08439a7c6887d1316a3e1a35f8f0cajohannkoenig@chromium.orgvoid vp9_d207_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 1270d106b34dc08439a7c6887d1316a3e1a35f8f0cajohannkoenig@chromium.orgRTCD_EXTERN void (*vp9_d207_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 12847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org 12962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 13062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 13162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d45_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 13262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 13362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 13462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 13562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d45_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 13662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 13762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 13862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d45_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 13962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d45_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 14062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 14153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 14253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d45_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 14353a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d45_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 14447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org 14562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 14662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 14762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d63_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 14862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 14962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 15062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 15162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d63_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 15262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 15362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 15462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_d63_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 15562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_d63_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 15662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 15753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 1580d106b34dc08439a7c6887d1316a3e1a35f8f0cajohannkoenig@chromium.orgvoid vp9_d63_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 1590d106b34dc08439a7c6887d1316a3e1a35f8f0cajohannkoenig@chromium.orgRTCD_EXTERN void (*vp9_d63_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 16047265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org 16162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 16262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c 16362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 16462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 16562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c 16662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 16762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 16862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c 16962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 17062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 17162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c 17262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 17362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 17462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c 17562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 17662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 17762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c 17862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 17962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 18062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c 18162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 18262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 18362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c 18462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 18562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 18662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 18762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_predictor_16x16 vp9_dc_predictor_16x16_sse2 18862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 18962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 19062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 19162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_predictor_32x32 vp9_dc_predictor_32x32_sse2 19262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 19362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 19462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_4x4_sse(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 19562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_predictor_4x4 vp9_dc_predictor_4x4_sse 19662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 19762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 19862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_predictor_8x8_sse(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 19962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_predictor_8x8 vp9_dc_predictor_8x8_sse 20062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 20162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 20262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c 20362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 20462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 20562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c 20662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 20762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 20862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c 20962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 21062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 21162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c 21262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 21377496404dc182c2f4a5f86ebabffe1d1ceb81e7ejohannkoenig@chromium.orgint vp9_diamond_search_sad_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv); 21495aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com#define vp9_diamond_search_sad vp9_diamond_search_sad_c 21562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 21687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride); 21787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_sse2(const int16_t *input, tran_low_t *output, int stride); 218497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_fdct16x16 vp9_fdct16x16_sse2 21962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 22087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride); 22187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct16x16_1_sse2(const int16_t *input, tran_low_t *output, int stride); 22288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org#define vp9_fdct16x16_1 vp9_fdct16x16_1_sse2 22388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org 22487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride); 22587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_sse2(const int16_t *input, tran_low_t *output, int stride); 226497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_fdct32x32 vp9_fdct32x32_sse2 22762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 22887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride); 22987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_1_sse2(const int16_t *input, tran_low_t *output, int stride); 23088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org#define vp9_fdct32x32_1 vp9_fdct32x32_1_sse2 23188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org 23287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride); 23387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct32x32_rd_sse2(const int16_t *input, tran_low_t *output, int stride); 234497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_fdct32x32_rd vp9_fdct32x32_rd_sse2 23562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 23687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride); 23787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_sse2(const int16_t *input, tran_low_t *output, int stride); 238497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_fdct4x4 vp9_fdct4x4_sse2 23962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 24087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride); 24187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct4x4_1_sse2(const int16_t *input, tran_low_t *output, int stride); 24288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org#define vp9_fdct4x4_1 vp9_fdct4x4_1_sse2 24388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org 24487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride); 24587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_sse2(const int16_t *input, tran_low_t *output, int stride); 24687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_ssse3(const int16_t *input, tran_low_t *output, int stride); 24787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_fdct8x8)(const int16_t *input, tran_low_t *output, int stride); 24862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 24987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride); 25087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fdct8x8_1_sse2(const int16_t *input, tran_low_t *output, int stride); 25188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org#define vp9_fdct8x8_1 vp9_fdct8x8_1_sse2 25288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org 25387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); 25487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht16x16_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type); 255497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_fht16x16 vp9_fht16x16_sse2 25662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 25787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); 25887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht4x4_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type); 259497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_fht4x4 vp9_fht4x4_sse2 26062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 26187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); 26287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fht8x8_sse2(const int16_t *input, tran_low_t *output, int stride, int tx_type); 263497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_fht8x8 vp9_fht8x8_sse2 26462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 26577496404dc182c2f4a5f86ebabffe1d1ceb81e7ejohannkoenig@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); 26662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_full_range_search vp9_full_range_search_c 26762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 268693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@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); 269693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@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); 270693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@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); 271693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@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); 27262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 27387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride); 27487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_fwht4x4_mmx(const int16_t *input, tran_low_t *output, int stride); 2757765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp9_fwht4x4 vp9_fwht4x4_mmx 27662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 27788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 27888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgvoid vp9_get16x16var_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 27988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org#define vp9_get16x16var vp9_get16x16var_sse2 28088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org 28188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 28288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgvoid vp9_get8x8var_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 28388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org#define vp9_get8x8var vp9_get8x8var_sse2 28488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org 28562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_get_mb_ss_c(const int16_t *); 28662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_get_mb_ss_sse2(const int16_t *); 28762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_get_mb_ss vp9_get_mb_ss_sse2 28862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 28962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 29062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_16x16_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 29162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_h_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 29262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 29362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 29462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_32x32_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 29562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_h_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 29662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 29762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 29862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_h_predictor_4x4_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 29962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN void (*vp9_h_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 30062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 30153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 30253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp9_h_predictor_8x8_ssse3(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 30353a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgRTCD_EXTERN void (*vp9_h_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 30447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org 30587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 30687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_10_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 30787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_10_add_ssse3(const tran_low_t *input, uint8_t *dest, int dest_stride); 30887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct16x16_10_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 30962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 31087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 31187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 31262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_idct16x16_1_add vp9_idct16x16_1_add_sse2 31362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 31487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 31587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_256_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 31687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct16x16_256_add_ssse3(const tran_low_t *input, uint8_t *dest, int dest_stride); 31787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct16x16_256_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 31862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 31987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 32087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1024_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 32162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_idct32x32_1024_add vp9_idct32x32_1024_add_sse2 32262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 32387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 32487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 32562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_idct32x32_1_add vp9_idct32x32_1_add_sse2 32662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 32787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 32887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct32x32_34_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 32962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_idct32x32_34_add vp9_idct32x32_34_add_sse2 33062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 33187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 33287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 33362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_idct4x4_16_add vp9_idct4x4_16_add_sse2 33462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 33587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 33687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct4x4_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 33762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_idct4x4_1_add vp9_idct4x4_1_add_sse2 33862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 33987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 34087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_12_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 34187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_12_add_ssse3(const tran_low_t *input, uint8_t *dest, int dest_stride); 34287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct8x8_12_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 34362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 34487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 34587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_1_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 34662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_idct8x8_1_add vp9_idct8x8_1_add_sse2 34762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 34887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 34987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride); 35087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_idct8x8_64_add_ssse3(const tran_low_t *input, uint8_t *dest, int dest_stride); 35187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_idct8x8_64_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 35262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 35387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *output, int pitch, int tx_type); 35487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht16x16_256_add_sse2(const tran_low_t *input, uint8_t *output, int pitch, int tx_type); 35562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_iht16x16_256_add vp9_iht16x16_256_add_sse2 35662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 35787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 35887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht4x4_16_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 35962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_iht4x4_16_add vp9_iht4x4_16_add_sse2 36062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 36187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 36287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iht8x8_64_add_sse2(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 36362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_iht8x8_64_add vp9_iht8x8_64_add_sse2 36462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 36587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 36662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_iwht4x4_16_add vp9_iwht4x4_16_add_c 36762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 36887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 36962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_iwht4x4_1_add vp9_iwht4x4_1_add_c 37062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 37162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 37262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 373497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_lpf_horizontal_16 vp9_lpf_horizontal_16_sse2 37462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 37562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 37662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 37762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_lpf_horizontal_4 vp9_lpf_horizontal_4_mmx 37862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 37962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 38062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 38162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_lpf_horizontal_4_dual vp9_lpf_horizontal_4_dual_sse2 38262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 38362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 38462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 38562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_lpf_horizontal_8 vp9_lpf_horizontal_8_sse2 38662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 38762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 38862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 38962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_lpf_horizontal_8_dual vp9_lpf_horizontal_8_dual_sse2 39062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 39162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 39262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_lpf_vertical_16_sse2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 39362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_lpf_vertical_16 vp9_lpf_vertical_16_sse2 39462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 39562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 39662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 39762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_lpf_vertical_16_dual vp9_lpf_vertical_16_dual_sse2 39862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 39962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 40062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 40162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_lpf_vertical_4 vp9_lpf_vertical_4_mmx 40262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 40362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 40462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 40562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_lpf_vertical_4_dual vp9_lpf_vertical_4_dual_sse2 40662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 40762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 40862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 40962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_lpf_vertical_8 vp9_lpf_vertical_8_sse2 41062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 41162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 41262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 41362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_lpf_vertical_8_dual vp9_lpf_vertical_8_dual_sse2 41462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 41562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 41662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_mse16x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 417497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_mse16x16 vp9_mse16x16_sse2 41862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 41962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 420d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgunsigned int vp9_mse16x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 421d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_mse16x8 vp9_mse16x8_sse2 42262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 42362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 424d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgunsigned int vp9_mse8x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 425d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_mse8x16 vp9_mse8x16_sse2 42662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 42762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 428d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgunsigned int vp9_mse8x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 429d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp9_mse8x8 vp9_mse8x8_sse2 43062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 43187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@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); 43287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_quantize_b_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 43387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_quantize_b)(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 43462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 43587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@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); 43687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_quantize_b_32x32_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 43787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_quantize_b_32x32)(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 43862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 43987997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@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); 44087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_quantize_fp_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 44187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_quantize_fp)(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); 442e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.org 44387997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@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); 44487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgvoid vp9_quantize_fp_32x32_ssse3(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 44587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgRTCD_EXTERN void (*vp9_quantize_fp_32x32)(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 44695aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com 447693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@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); 44895aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com#define vp9_refining_search_sad vp9_refining_search_sad_c 44962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 45088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 45188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 45262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x16 vp9_sad16x16_sse2 45362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 45488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 45588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x16_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 45662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x16_avg vp9_sad16x16_avg_sse2 45762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 45862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 45962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 46062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 46162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 46262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 46362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 46462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 46562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x16x4d vp9_sad16x16x4d_sse2 46662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 46762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 46862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x16x8 vp9_sad16x16x8_c 46962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 47088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 47188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 47262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x32 vp9_sad16x32_sse2 47362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 47488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 47588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x32_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 47662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x32_avg vp9_sad16x32_avg_sse2 47762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 47862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 47962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 48062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x32x4d vp9_sad16x32x4d_sse2 48162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 48288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 48388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 48462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x8 vp9_sad16x8_sse2 48562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 48688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 48788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad16x8_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 48862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x8_avg vp9_sad16x8_avg_sse2 48962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 49062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 49162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 49262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 49362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 49462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 49562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 49662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 49762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x8x4d vp9_sad16x8x4d_sse2 49862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 49962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 50062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad16x8x8 vp9_sad16x8x8_c 50162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 50288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 50388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 50462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x16 vp9_sad32x16_sse2 50562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 50688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 50788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x16_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 50862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x16_avg vp9_sad32x16_avg_sse2 50962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 51062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 51162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 51262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x16x4d vp9_sad32x16x4d_sse2 51362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 51488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 51588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 51662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x32 vp9_sad32x32_sse2 51762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 51888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 51988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x32_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 52062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x32_avg vp9_sad32x32_avg_sse2 52162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 52262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 52362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x32x3 vp9_sad32x32x3_c 52462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 52562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 52662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 527497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_sad32x32x4d vp9_sad32x32x4d_sse2 52862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 52962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 53062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x32x8 vp9_sad32x32x8_c 53162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 53288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 53388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x64_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 53462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x64 vp9_sad32x64_sse2 53562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 53688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 53788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad32x64_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 53862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x64_avg vp9_sad32x64_avg_sse2 53962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 54062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 54162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 54262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad32x64x4d vp9_sad32x64x4d_sse2 54362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 54488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 54588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x4_sse(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 54662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad4x4 vp9_sad4x4_sse 54762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 54888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 54988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x4_avg_sse(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 55062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad4x4_avg vp9_sad4x4_avg_sse 55162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 55262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 55362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 55462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 55562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 55662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 55762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 55862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad4x4x4d vp9_sad4x4x4d_sse 55962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 56062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 56162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad4x4x8 vp9_sad4x4x8_c 56262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 56388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 56488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x8_sse(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 56562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad4x8 vp9_sad4x8_sse 56662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 56788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 56888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad4x8_avg_sse(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 56962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad4x8_avg vp9_sad4x8_avg_sse 57062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 57162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 57262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 57362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad4x8x4d vp9_sad4x8x4d_sse 57462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 57562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 57662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad4x8x8 vp9_sad4x8x8_c 57762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 57888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 57988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 58062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad64x32 vp9_sad64x32_sse2 58162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 58288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 58388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x32_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 58462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad64x32_avg vp9_sad64x32_avg_sse2 58562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 58662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 58762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 58862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad64x32x4d vp9_sad64x32x4d_sse2 58962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 59088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 59188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x64_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 59262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad64x64 vp9_sad64x64_sse2 59362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 59488b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 59588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad64x64_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 59662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad64x64_avg vp9_sad64x64_avg_sse2 59762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 59862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 59962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad64x64x3 vp9_sad64x64x3_c 60062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 60162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 60262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 603497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_sad64x64x4d vp9_sad64x64x4d_sse2 60462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 60562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 60662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad64x64x8 vp9_sad64x64x8_c 60762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 60888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 60988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 61062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x16 vp9_sad8x16_sse2 61162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 61288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 61388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x16_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 61462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x16_avg vp9_sad8x16_avg_sse2 61562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 61662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 61762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 61862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 61962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 62062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 62162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 62262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x16x4d vp9_sad8x16x4d_sse2 62362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 62462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 62562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x16x8 vp9_sad8x16x8_c 62662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 62788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 62888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x4_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 62962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x4 vp9_sad8x4_sse2 63062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 63188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 63288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x4_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 63362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x4_avg vp9_sad8x4_avg_sse2 63462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 63562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 63662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 63762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x4x4d vp9_sad8x4x4d_sse2 63862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 63962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 64062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x4x8 vp9_sad8x4x8_c 64162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 64288b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 64388b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 64462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x8 vp9_sad8x8_sse2 64562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 64688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 64788b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.orgunsigned int vp9_sad8x8_avg_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 64862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x8_avg vp9_sad8x8_avg_sse2 64962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 65062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 65162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 65262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 65362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 65462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 65562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 65662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x8x4d vp9_sad8x8x4d_sse2 65762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 65862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 65962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_sad8x8x8 vp9_sad8x8x8_c 66062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 66162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 66262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 66362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 66462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance16x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 66562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 66662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 66762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 66862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 66962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance16x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 67062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 67162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 67262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x8_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 67362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance16x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 67462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance16x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 67562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 67662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 67762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 67862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 67962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance32x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 68062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 68162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 68262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 68362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 68462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance32x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 68562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 68662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 68762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x64_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 68862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance32x64_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 68962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance32x64)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 69062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 69162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 69262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance4x4_sse(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 69362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance4x4_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 69462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance4x4)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 69562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 69662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 69762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance4x8_sse(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 69862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance4x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 69962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance4x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 70062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 70162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 70262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance64x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 70362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance64x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 70462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance64x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 70562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 70662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 70762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance64x64_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 70862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance64x64_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 70962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance64x64)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 71062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 71162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 71262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 71362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 71462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance8x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 71562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 71662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 71762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x4_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 71862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x4_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 71962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance8x4)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 72062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 72162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 72262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x8_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 72362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_avg_variance8x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 72462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_avg_variance8x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred); 72562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 72662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 72762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 72862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 72962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance16x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 73062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 73162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 73262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 73362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 73462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance16x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 73562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 73662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 73762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x8_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 73862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance16x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 73962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance16x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 74062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 74162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 74262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 74362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 74462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance32x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 74562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 74662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 74762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 74862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 74962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance32x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 75062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 75162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 75262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x64_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 75362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance32x64_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 75462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance32x64)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 75562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 75662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 75762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance4x4_sse(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 75862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance4x4_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 75962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance4x4)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 76062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 76162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 76262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance4x8_sse(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 76362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance4x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 76462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance4x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 76562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 76662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 76762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance64x32_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 76862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance64x32_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 76962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance64x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 77062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 77162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 77262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance64x64_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 77362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance64x64_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 77462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance64x64)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 77562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 77662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 77762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x16_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 77862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x16_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 77962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance8x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 78062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 78162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 78262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x4_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 78362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x4_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 78462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance8x4)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 78562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 78662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 78762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x8_sse2(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 78862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_sub_pixel_variance8x8_ssse3(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 78962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgRTCD_EXTERN unsigned int (*vp9_sub_pixel_variance8x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 79062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 79162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 79262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_subtract_block_sse2(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride); 79362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_subtract_block vp9_subtract_block_sse2 79462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 79588b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 79688b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@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); 79762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_temporal_filter_apply vp9_temporal_filter_apply_sse2 79862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 79962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 80062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 80162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_tm_predictor_16x16 vp9_tm_predictor_16x16_sse2 80262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 80362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 80462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 80562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_tm_predictor_32x32 vp9_tm_predictor_32x32_sse2 80662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 80762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 80862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_4x4_sse(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 80962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_tm_predictor_4x4 vp9_tm_predictor_4x4_sse 81062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 81162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 81262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_tm_predictor_8x8_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 81362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_tm_predictor_8x8 vp9_tm_predictor_8x8_sse2 81462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 81562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 81662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_16x16_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 81762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_v_predictor_16x16 vp9_v_predictor_16x16_sse2 81862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 81962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 82062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_32x32_sse2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 82162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_v_predictor_32x32 vp9_v_predictor_32x32_sse2 82262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 82362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 82462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_4x4_sse(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 82562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_v_predictor_4x4 vp9_v_predictor_4x4_sse 82662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 82762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 82862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_v_predictor_8x8_sse(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 82962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_v_predictor_8x8 vp9_v_predictor_8x8_sse 83062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 83162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 83262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance16x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 833497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_variance16x16 vp9_variance16x16_sse2 83462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 83562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 83662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance16x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 83762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_variance16x32 vp9_variance16x32_sse2 83862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 83962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 84062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance16x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 84162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_variance16x8 vp9_variance16x8_sse2 84262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 84362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 84462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance32x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 845497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_variance32x16 vp9_variance32x16_sse2 84662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 84762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 84862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance32x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 849497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_variance32x32 vp9_variance32x32_sse2 85062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 85162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 85262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance32x64_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 85362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_variance32x64 vp9_variance32x64_sse2 85462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 85562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 85662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance4x4_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 85762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_variance4x4 vp9_variance4x4_sse2 85862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 85962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 86062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance4x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 86162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_variance4x8 vp9_variance4x8_sse2 86262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 86362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 86462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance64x32_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 865497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_variance64x32 vp9_variance64x32_sse2 86662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 86762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 86862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance64x64_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 869497a01b086cc703ed01af8e8aeed3e5733ad8315johannkoenig@chromium.org#define vp9_variance64x64 vp9_variance64x64_sse2 87062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 87162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 87262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance8x16_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 87362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_variance8x16 vp9_variance8x16_sse2 87462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 87562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 87662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance8x4_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 87762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_variance8x4 vp9_variance8x4_sse2 87862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 87962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@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); 88062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgunsigned int vp9_variance8x8_sse2(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 88162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp9_variance8x8 vp9_variance8x8_sse2 88262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 88362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_rtcd(void); 88462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 88562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#ifdef RTCD_C 88662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#include "vpx_ports/x86.h" 88762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgstatic void setup_rtcd_internal(void) 88862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org{ 88962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org int flags = x86_simd_caps(); 89062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 89162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org (void)flags; 89262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org 89362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_convolve8 = vp9_convolve8_sse2; 89462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_convolve8 = vp9_convolve8_ssse3; 89562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_convolve8_avg = vp9_convolve8_avg_sse2; 89662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_convolve8_avg = vp9_convolve8_avg_ssse3; 89762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_sse2; 89862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_ssse3; 89962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_sse2; 90062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_ssse3; 90162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_convolve8_horiz = vp9_convolve8_horiz_sse2; 90262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_convolve8_horiz = vp9_convolve8_horiz_ssse3; 90362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_convolve8_vert = vp9_convolve8_vert_sse2; 90462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_convolve8_vert = vp9_convolve8_vert_ssse3; 90562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d153_predictor_16x16 = vp9_d153_predictor_16x16_c; 90662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d153_predictor_16x16 = vp9_d153_predictor_16x16_ssse3; 90762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d153_predictor_4x4 = vp9_d153_predictor_4x4_c; 90862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d153_predictor_4x4 = vp9_d153_predictor_4x4_ssse3; 90962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d153_predictor_8x8 = vp9_d153_predictor_8x8_c; 91062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d153_predictor_8x8 = vp9_d153_predictor_8x8_ssse3; 91162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d207_predictor_16x16 = vp9_d207_predictor_16x16_c; 91262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d207_predictor_16x16 = vp9_d207_predictor_16x16_ssse3; 91362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d207_predictor_32x32 = vp9_d207_predictor_32x32_c; 91462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d207_predictor_32x32 = vp9_d207_predictor_32x32_ssse3; 91562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d207_predictor_4x4 = vp9_d207_predictor_4x4_c; 91662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d207_predictor_4x4 = vp9_d207_predictor_4x4_ssse3; 91762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d207_predictor_8x8 = vp9_d207_predictor_8x8_c; 91862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d207_predictor_8x8 = vp9_d207_predictor_8x8_ssse3; 91962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d45_predictor_16x16 = vp9_d45_predictor_16x16_c; 92062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d45_predictor_16x16 = vp9_d45_predictor_16x16_ssse3; 92162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d45_predictor_32x32 = vp9_d45_predictor_32x32_c; 92262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d45_predictor_32x32 = vp9_d45_predictor_32x32_ssse3; 92362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d45_predictor_4x4 = vp9_d45_predictor_4x4_c; 92462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d45_predictor_4x4 = vp9_d45_predictor_4x4_ssse3; 92562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d45_predictor_8x8 = vp9_d45_predictor_8x8_c; 92662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d45_predictor_8x8 = vp9_d45_predictor_8x8_ssse3; 92762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d63_predictor_16x16 = vp9_d63_predictor_16x16_c; 92862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d63_predictor_16x16 = vp9_d63_predictor_16x16_ssse3; 92962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d63_predictor_32x32 = vp9_d63_predictor_32x32_c; 93062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d63_predictor_32x32 = vp9_d63_predictor_32x32_ssse3; 93162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d63_predictor_4x4 = vp9_d63_predictor_4x4_c; 93262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d63_predictor_4x4 = vp9_d63_predictor_4x4_ssse3; 93362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_d63_predictor_8x8 = vp9_d63_predictor_8x8_c; 93462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_d63_predictor_8x8 = vp9_d63_predictor_8x8_ssse3; 93577496404dc182c2f4a5f86ebabffe1d1ceb81e7ejohannkoenig@chromium.org vp9_fdct8x8 = vp9_fdct8x8_sse2; 93677496404dc182c2f4a5f86ebabffe1d1ceb81e7ejohannkoenig@chromium.org if (flags & HAS_SSSE3) vp9_fdct8x8 = vp9_fdct8x8_ssse3; 93762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_full_search_sad = vp9_full_search_sad_c; 93862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSE3) vp9_full_search_sad = vp9_full_search_sadx3; 93962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSE4_1) vp9_full_search_sad = vp9_full_search_sadx8; 94062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_h_predictor_16x16 = vp9_h_predictor_16x16_c; 94162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_h_predictor_16x16 = vp9_h_predictor_16x16_ssse3; 94262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_h_predictor_32x32 = vp9_h_predictor_32x32_c; 94362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_h_predictor_32x32 = vp9_h_predictor_32x32_ssse3; 94462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_h_predictor_4x4 = vp9_h_predictor_4x4_c; 94562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_h_predictor_4x4 = vp9_h_predictor_4x4_ssse3; 94662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_h_predictor_8x8 = vp9_h_predictor_8x8_c; 94762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_h_predictor_8x8 = vp9_h_predictor_8x8_ssse3; 94888b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org vp9_idct16x16_10_add = vp9_idct16x16_10_add_sse2; 94988b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org if (flags & HAS_SSSE3) vp9_idct16x16_10_add = vp9_idct16x16_10_add_ssse3; 95088b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org vp9_idct16x16_256_add = vp9_idct16x16_256_add_sse2; 95188b47b29cc274dd19cddc37c1ce1834d97df282efgalligan@chromium.org if (flags & HAS_SSSE3) vp9_idct16x16_256_add = vp9_idct16x16_256_add_ssse3; 9527765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org vp9_idct8x8_12_add = vp9_idct8x8_12_add_sse2; 9537765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org if (flags & HAS_SSSE3) vp9_idct8x8_12_add = vp9_idct8x8_12_add_ssse3; 954810cf1767dc8df4783e02ba8a712072f50ddc99efgalligan@chromium.org vp9_idct8x8_64_add = vp9_idct8x8_64_add_sse2; 955810cf1767dc8df4783e02ba8a712072f50ddc99efgalligan@chromium.org if (flags & HAS_SSSE3) vp9_idct8x8_64_add = vp9_idct8x8_64_add_ssse3; 95662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_quantize_b = vp9_quantize_b_c; 95762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_quantize_b = vp9_quantize_b_ssse3; 95862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_quantize_b_32x32 = vp9_quantize_b_32x32_c; 95962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_quantize_b_32x32 = vp9_quantize_b_32x32_ssse3; 960e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.org vp9_quantize_fp = vp9_quantize_fp_c; 961e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.org if (flags & HAS_SSSE3) vp9_quantize_fp = vp9_quantize_fp_ssse3; 96295aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_c; 96395aa45d73048f952dcaad0037429cc6751b34f2fjohannkoenig@google.com if (flags & HAS_SSSE3) vp9_quantize_fp_32x32 = vp9_quantize_fp_32x32_ssse3; 96462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sad16x16x3 = vp9_sad16x16x3_c; 96562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSE3) vp9_sad16x16x3 = vp9_sad16x16x3_sse3; 96662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sad16x16x3 = vp9_sad16x16x3_ssse3; 96762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sad16x8x3 = vp9_sad16x8x3_c; 96862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSE3) vp9_sad16x8x3 = vp9_sad16x8x3_sse3; 96962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sad16x8x3 = vp9_sad16x8x3_ssse3; 97062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sad4x4x3 = vp9_sad4x4x3_c; 97162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSE3) vp9_sad4x4x3 = vp9_sad4x4x3_sse3; 97262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sad8x16x3 = vp9_sad8x16x3_c; 97362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSE3) vp9_sad8x16x3 = vp9_sad8x16x3_sse3; 97462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sad8x8x3 = vp9_sad8x8x3_c; 97562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSE3) vp9_sad8x8x3 = vp9_sad8x8x3_sse3; 97662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance16x16 = vp9_sub_pixel_avg_variance16x16_sse2; 97762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance16x16 = vp9_sub_pixel_avg_variance16x16_ssse3; 97862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance16x32 = vp9_sub_pixel_avg_variance16x32_sse2; 97962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance16x32 = vp9_sub_pixel_avg_variance16x32_ssse3; 98062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance16x8 = vp9_sub_pixel_avg_variance16x8_sse2; 98162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance16x8 = vp9_sub_pixel_avg_variance16x8_ssse3; 98262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance32x16 = vp9_sub_pixel_avg_variance32x16_sse2; 98362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance32x16 = vp9_sub_pixel_avg_variance32x16_ssse3; 98462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance32x32 = vp9_sub_pixel_avg_variance32x32_sse2; 98562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance32x32 = vp9_sub_pixel_avg_variance32x32_ssse3; 98662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance32x64 = vp9_sub_pixel_avg_variance32x64_sse2; 98762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance32x64 = vp9_sub_pixel_avg_variance32x64_ssse3; 98862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance4x4 = vp9_sub_pixel_avg_variance4x4_sse; 98962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance4x4 = vp9_sub_pixel_avg_variance4x4_ssse3; 99062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance4x8 = vp9_sub_pixel_avg_variance4x8_sse; 99162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance4x8 = vp9_sub_pixel_avg_variance4x8_ssse3; 99262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance64x32 = vp9_sub_pixel_avg_variance64x32_sse2; 99362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance64x32 = vp9_sub_pixel_avg_variance64x32_ssse3; 99462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance64x64 = vp9_sub_pixel_avg_variance64x64_sse2; 99562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance64x64 = vp9_sub_pixel_avg_variance64x64_ssse3; 99662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance8x16 = vp9_sub_pixel_avg_variance8x16_sse2; 99762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance8x16 = vp9_sub_pixel_avg_variance8x16_ssse3; 99862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance8x4 = vp9_sub_pixel_avg_variance8x4_sse2; 99962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance8x4 = vp9_sub_pixel_avg_variance8x4_ssse3; 100062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_avg_variance8x8 = vp9_sub_pixel_avg_variance8x8_sse2; 100162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_avg_variance8x8 = vp9_sub_pixel_avg_variance8x8_ssse3; 100262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance16x16 = vp9_sub_pixel_variance16x16_sse2; 100362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance16x16 = vp9_sub_pixel_variance16x16_ssse3; 100462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance16x32 = vp9_sub_pixel_variance16x32_sse2; 100562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance16x32 = vp9_sub_pixel_variance16x32_ssse3; 100662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance16x8 = vp9_sub_pixel_variance16x8_sse2; 100762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance16x8 = vp9_sub_pixel_variance16x8_ssse3; 100862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance32x16 = vp9_sub_pixel_variance32x16_sse2; 100962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance32x16 = vp9_sub_pixel_variance32x16_ssse3; 101062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance32x32 = vp9_sub_pixel_variance32x32_sse2; 101162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance32x32 = vp9_sub_pixel_variance32x32_ssse3; 101262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance32x64 = vp9_sub_pixel_variance32x64_sse2; 101362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance32x64 = vp9_sub_pixel_variance32x64_ssse3; 101462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance4x4 = vp9_sub_pixel_variance4x4_sse; 101562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance4x4 = vp9_sub_pixel_variance4x4_ssse3; 101662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance4x8 = vp9_sub_pixel_variance4x8_sse; 101762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance4x8 = vp9_sub_pixel_variance4x8_ssse3; 101862346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance64x32 = vp9_sub_pixel_variance64x32_sse2; 101962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance64x32 = vp9_sub_pixel_variance64x32_ssse3; 102062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance64x64 = vp9_sub_pixel_variance64x64_sse2; 102162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance64x64 = vp9_sub_pixel_variance64x64_ssse3; 102262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance8x16 = vp9_sub_pixel_variance8x16_sse2; 102362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance8x16 = vp9_sub_pixel_variance8x16_ssse3; 102462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance8x4 = vp9_sub_pixel_variance8x4_sse2; 102562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance8x4 = vp9_sub_pixel_variance8x4_ssse3; 102662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8_sse2; 102762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org if (flags & HAS_SSSE3) vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8_ssse3; 10288ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org} 10298ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#endif 1030dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org 1031dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus 1032dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org} // extern "C" 1033dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif 1034dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org 10358ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#endif 1036