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