1afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#ifndef VPX_SCALE_RTCD_H_ 2afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define VPX_SCALE_RTCD_H_ 3afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 4afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#ifdef RTCD_C 5afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define RTCD_EXTERN 6afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#else 7afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define RTCD_EXTERN extern 8afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#endif 9afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 10da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanianstruct yv12_buffer_config; 11da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanian 12afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#ifdef __cplusplus 13afecaee6099284387688b9ce17ec3642ec4e5c1bJohannextern "C" { 14afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#endif 15afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 16afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 17afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c 18afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 19afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 20afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c 21afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 22afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 23afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c 24afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 25afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid 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); 26afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c 27afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 28afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid 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); 29afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c 30afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 31afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid 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); 32afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c 33afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 34afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid 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); 35afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c 36afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 37afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 38afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c 39afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 40afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf); 41afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c 42afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 43da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanianvoid vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf); 44da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanian#define vpx_extend_frame_borders vpx_extend_frame_borders_c 45afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 46da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanianvoid vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf); 47da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanian#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c 48afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 49afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 50afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#define vpx_yv12_copy_y vpx_yv12_copy_y_c 51afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 52afecaee6099284387688b9ce17ec3642ec4e5c1bJohannvoid vpx_scale_rtcd(void); 53afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 54afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#ifdef RTCD_C 55afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#include "vpx_ports/x86.h" 56afecaee6099284387688b9ce17ec3642ec4e5c1bJohannstatic void setup_rtcd_internal(void) 57afecaee6099284387688b9ce17ec3642ec4e5c1bJohann{ 58afecaee6099284387688b9ce17ec3642ec4e5c1bJohann int flags = x86_simd_caps(); 59afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 60afecaee6099284387688b9ce17ec3642ec4e5c1bJohann (void)flags; 61afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 62afecaee6099284387688b9ce17ec3642ec4e5c1bJohann} 63afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#endif 64afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 65afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#ifdef __cplusplus 66afecaee6099284387688b9ce17ec3642ec4e5c1bJohann} // extern "C" 67afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#endif 68afecaee6099284387688b9ce17ec3642ec4e5c1bJohann 69afecaee6099284387688b9ce17ec3642ec4e5c1bJohann#endif 70