1## 2## Copyright (c) 2017 The WebM project authors. All Rights Reserved. 3## 4## Use of this source code is governed by a BSD-style license 5## that can be found in the LICENSE file in the root of the source 6## tree. An additional intellectual property rights grant can be found 7## in the file PATENTS. All contributing project authors may 8## be found in the AUTHORS file in the root of the source tree. 9## 10 11sub vpx_scale_forward_decls() { 12print <<EOF 13struct yv12_buffer_config; 14EOF 15} 16forward_decls qw/vpx_scale_forward_decls/; 17 18# Scaler functions 19if (vpx_config("CONFIG_SPATIAL_RESAMPLING") eq "yes") { 20 add_proto qw/void vp8_horizontal_line_5_4_scale/, "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"; 21 add_proto qw/void vp8_vertical_band_5_4_scale/, "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"; 22 add_proto qw/void vp8_horizontal_line_5_3_scale/, "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"; 23 add_proto qw/void vp8_vertical_band_5_3_scale/, "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"; 24 add_proto qw/void vp8_horizontal_line_2_1_scale/, "const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width"; 25 add_proto qw/void vp8_vertical_band_2_1_scale/, "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"; 26 add_proto qw/void vp8_vertical_band_2_1_scale_i/, "unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width"; 27} 28 29add_proto qw/void vp8_yv12_extend_frame_borders/, "struct yv12_buffer_config *ybf"; 30 31add_proto qw/void vp8_yv12_copy_frame/, "const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc"; 32 33add_proto qw/void vpx_yv12_copy_y/, "const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc"; 34 35if (vpx_config("CONFIG_VP9") eq "yes") { 36 add_proto qw/void vpx_yv12_copy_frame/, "const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc"; 37 38 add_proto qw/void vpx_extend_frame_borders/, "struct yv12_buffer_config *ybf"; 39 specialize qw/vpx_extend_frame_borders dspr2/; 40 41 add_proto qw/void vpx_extend_frame_inner_borders/, "struct yv12_buffer_config *ybf"; 42 specialize qw/vpx_extend_frame_inner_borders dspr2/; 43} 441; 45