14b95526e5c4eb4fecde1cd642cf991a82c51b9f2johannkoenig@chromium.org#ifndef VPX_SCALE_RTCD_H_
24b95526e5c4eb4fecde1cd642cf991a82c51b9f2johannkoenig@chromium.org#define VPX_SCALE_RTCD_H_
36fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
46fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#ifdef RTCD_C
56fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#define RTCD_EXTERN
66fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#else
76fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#define RTCD_EXTERN extern
86fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#endif
96fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
1087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgstruct yv12_buffer_config;
1187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org
12dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
13dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.orgextern "C" {
14dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
15dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
16daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
17daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
186fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
196fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.orgvoid vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
206fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
216fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
22daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
23daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
246fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
256fefe538d859300e7febe78271828198c10f1b52fgalligan@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);
266fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
276fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
286fefe538d859300e7febe78271828198c10f1b52fgalligan@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);
296fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
306fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
31daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
32daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
33daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
34daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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);
35daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
366fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
3753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgvoid vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
386fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
396fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
40daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
41daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
426fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
43daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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
46daa317752787969f0b39e74dacf35acc11e4b79afgalligan@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
49daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.orgvoid vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
50daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org#define vpx_yv12_copy_y vpx_yv12_copy_y_c
51daa317752787969f0b39e74dacf35acc11e4b79afgalligan@chromium.org
526fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.orgvoid vpx_scale_rtcd(void);
536fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
546fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#ifdef RTCD_C
556fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#include "vpx_ports/x86.h"
566fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.orgstatic void setup_rtcd_internal(void)
576fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org{
586fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org    int flags = x86_simd_caps();
596fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
606fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org    (void)flags;
616fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org
626fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org}
636fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#endif
64dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
65dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#ifdef __cplusplus
66dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org}  // extern "C"
67dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org#endif
68dddee1ec7cedf276305b107429f684539b105276johannkoenig@chromium.org
696fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org#endif
70