14b95526e5c4eb4fecde1cd642cf991a82c51b9f2johannkoenig@chromium.org#ifndef VPX_SCALE_RTCD_H_
24b95526e5c4eb4fecde1cd642cf991a82c51b9f2johannkoenig@chromium.org#define VPX_SCALE_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
10dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
11dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.orgextern "C" {
12dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
13dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
148ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.orgstruct yv12_buffer_config;
158ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
1662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
1762346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
188ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
198ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.orgvoid vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
208ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
218ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
2262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
2362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
248ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
258ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.orgvoid vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
268ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
278ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
288ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.orgvoid vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
298ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
308ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
3162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
3262346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
3362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
3462346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
3562346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
368ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
3753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
388ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
398ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
4062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
4162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
428ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
4362346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_extend_frame_borders_c(struct yv12_buffer_config *ybf);
4410a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org#define vp9_extend_frame_borders vp9_extend_frame_borders_c
4510a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org
4662346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vp9_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf);
471caff2f5cf4bc45ee1798419784f1416d5787dfefgalligan@chromium.org#define vp9_extend_frame_inner_borders vp9_extend_frame_inner_borders_c
481caff2f5cf4bc45ee1798419784f1416d5787dfefgalligan@chromium.org
4962346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.orgvoid vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
5062346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org#define vpx_yv12_copy_y vpx_yv12_copy_y_c
5162346fffe2566140c9f486b24be8377abf9e5b59fgalligan@chromium.org
528ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.orgvoid vpx_scale_rtcd(void);
538ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
548ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#ifdef RTCD_C
558ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#include "vpx_ports/x86.h"
568ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.orgstatic void setup_rtcd_internal(void)
578ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org{
588ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org    int flags = x86_simd_caps();
598ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
608ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org    (void)flags;
618ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org
628ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org}
638ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#endif
64dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
65dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
66dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org}  // extern "C"
67dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
68dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
698ae1e8e2c7efa47d8464e8a3205dbfaed138690ffgalligan@chromium.org#endif
70