16b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#ifndef VPX_SCALE_RTCD_H_
26b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define VPX_SCALE_RTCD_H_
36b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
46b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#ifdef RTCD_C
56b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define RTCD_EXTERN
66b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#else
76b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define RTCD_EXTERN extern
86b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#endif
96b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
106b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastestruct yv12_buffer_config;
116b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
126b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#ifdef __cplusplus
136b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rasteextern "C" {
146b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#endif
156b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
166b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
176b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
186b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
196b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
206b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
216b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
226b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
236b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
246b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
256b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid 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);
266b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
276b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
286b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid 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);
296b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
306b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
316b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid 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);
326b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
336b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
346b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid 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);
356b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
366b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
376b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
386b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
396b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
406b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
416b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
426b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
436b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf);
446b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vpx_extend_frame_borders vpx_extend_frame_borders_c
456b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
466b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf);
476b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
486b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
496b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
506b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#define vpx_yv12_copy_y vpx_yv12_copy_y_c
516b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
526b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid vpx_scale_rtcd(void);
536b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
546b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#include "vpx_config.h"
556b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
566b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#ifdef RTCD_C
576b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastestatic void setup_rtcd_internal(void)
586b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste{
596b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#if HAVE_DSPR2
606b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid vpx_dsputil_static_init();
616b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#if CONFIG_VP8
626b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevoid dsputil_static_init();
636b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#endif
646b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
656b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastevpx_dsputil_static_init();
666b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#if CONFIG_VP8
676b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Rastedsputil_static_init();
686b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#endif
696b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#endif
706b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste}
716b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#endif
726b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
736b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#ifdef __cplusplus
746b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste}  // extern "C"
756b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#endif
766b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste
776b531ea7586dda5e663b1c7c02f8f9a81fb7ea45Kaustubh Raste#endif
78