OLD | NEW |
1 sub vp9_common_forward_decls() { | 1 sub vp9_common_forward_decls() { |
2 print <<EOF | 2 print <<EOF |
3 /* | 3 /* |
4 * VP9 | 4 * VP9 |
5 */ | 5 */ |
6 | 6 |
7 #include "vpx/vpx_integer.h" | 7 #include "vpx/vpx_integer.h" |
8 #include "vp9/common/vp9_common.h" | 8 #include "vp9/common/vp9_common.h" |
9 #include "vp9/common/vp9_enums.h" | 9 #include "vp9/common/vp9_enums.h" |
10 | 10 |
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 specialize qw/vp9_mbpost_proc_across_ip sse2/; | 267 specialize qw/vp9_mbpost_proc_across_ip sse2/; |
268 $vp9_mbpost_proc_across_ip_sse2=vp9_mbpost_proc_across_ip_xmm; | 268 $vp9_mbpost_proc_across_ip_sse2=vp9_mbpost_proc_across_ip_xmm; |
269 | 269 |
270 add_proto qw/void vp9_post_proc_down_and_across/, "const uint8_t *src_ptr, uint8
_t *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int col
s, int flimit"; | 270 add_proto qw/void vp9_post_proc_down_and_across/, "const uint8_t *src_ptr, uint8
_t *dst_ptr, int src_pixels_per_line, int dst_pixels_per_line, int rows, int col
s, int flimit"; |
271 specialize qw/vp9_post_proc_down_and_across sse2/; | 271 specialize qw/vp9_post_proc_down_and_across sse2/; |
272 $vp9_post_proc_down_and_across_sse2=vp9_post_proc_down_and_across_xmm; | 272 $vp9_post_proc_down_and_across_sse2=vp9_post_proc_down_and_across_xmm; |
273 | 273 |
274 add_proto qw/void vp9_plane_add_noise/, "uint8_t *Start, char *noise, char black
clamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned
int Height, int Pitch"; | 274 add_proto qw/void vp9_plane_add_noise/, "uint8_t *Start, char *noise, char black
clamp[16], char whiteclamp[16], char bothclamp[16], unsigned int Width, unsigned
int Height, int Pitch"; |
275 specialize qw/vp9_plane_add_noise sse2/; | 275 specialize qw/vp9_plane_add_noise sse2/; |
276 $vp9_plane_add_noise_sse2=vp9_plane_add_noise_wmt; | 276 $vp9_plane_add_noise_sse2=vp9_plane_add_noise_wmt; |
277 | |
278 add_proto qw/void vp9_filter_by_weight16x16/, "const uint8_t *src, int src_strid
e, uint8_t *dst, int dst_stride, int src_weight"; | |
279 specialize qw/vp9_filter_by_weight16x16 sse2/; | |
280 | |
281 add_proto qw/void vp9_filter_by_weight8x8/, "const uint8_t *src, int src_stride,
uint8_t *dst, int dst_stride, int src_weight"; | |
282 specialize qw/vp9_filter_by_weight8x8 sse2/; | |
283 } | 277 } |
284 | 278 |
285 # | 279 # |
286 # Sub Pixel Filters | 280 # Sub Pixel Filters |
287 # | 281 # |
288 add_proto qw/void vp9_convolve_copy/, "const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, con
st int16_t *filter_y, int y_step_q4, int w, int h"; | 282 add_proto qw/void vp9_convolve_copy/, "const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, con
st int16_t *filter_y, int y_step_q4, int w, int h"; |
289 specialize qw/vp9_convolve_copy neon dspr2/, "$sse2_x86inc"; | 283 specialize qw/vp9_convolve_copy neon dspr2/, "$sse2_x86inc"; |
290 | 284 |
291 add_proto qw/void vp9_convolve_avg/, "const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, cons
t int16_t *filter_y, int y_step_q4, int w, int h"; | 285 add_proto qw/void vp9_convolve_avg/, "const uint8_t *src, ptrdiff_t src_stride,
uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, cons
t int16_t *filter_y, int y_step_q4, int w, int h"; |
292 specialize qw/vp9_convolve_avg neon dspr2/, "$sse2_x86inc"; | 286 specialize qw/vp9_convolve_avg neon dspr2/, "$sse2_x86inc"; |
(...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1042 add_proto qw/void vp9_sad8x4x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; | 1036 add_proto qw/void vp9_sad8x4x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; |
1043 specialize qw/vp9_sad8x4x8/; | 1037 specialize qw/vp9_sad8x4x8/; |
1044 | 1038 |
1045 add_proto qw/void vp9_sad4x8x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; | 1039 add_proto qw/void vp9_sad4x8x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; |
1046 specialize qw/vp9_sad4x8x8/; | 1040 specialize qw/vp9_sad4x8x8/; |
1047 | 1041 |
1048 add_proto qw/void vp9_sad4x4x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; | 1042 add_proto qw/void vp9_sad4x4x8/, "const uint8_t *src_ptr, int src_stride, const
uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array"; |
1049 specialize qw/vp9_sad4x4x8 sse4/; | 1043 specialize qw/vp9_sad4x4x8 sse4/; |
1050 | 1044 |
1051 add_proto qw/void vp9_sad64x64x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 1045 add_proto qw/void vp9_sad64x64x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
1052 specialize qw/vp9_sad64x64x4d sse2 avx2 neon/; | 1046 specialize qw/vp9_sad64x64x4d sse2 avx2/; |
1053 | 1047 |
1054 add_proto qw/void vp9_sad32x64x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 1048 add_proto qw/void vp9_sad32x64x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
1055 specialize qw/vp9_sad32x64x4d sse2/; | 1049 specialize qw/vp9_sad32x64x4d sse2/; |
1056 | 1050 |
1057 add_proto qw/void vp9_sad64x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 1051 add_proto qw/void vp9_sad64x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
1058 specialize qw/vp9_sad64x32x4d sse2/; | 1052 specialize qw/vp9_sad64x32x4d sse2/; |
1059 | 1053 |
1060 add_proto qw/void vp9_sad32x16x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 1054 add_proto qw/void vp9_sad32x16x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
1061 specialize qw/vp9_sad32x16x4d sse2/; | 1055 specialize qw/vp9_sad32x16x4d sse2/; |
1062 | 1056 |
1063 add_proto qw/void vp9_sad16x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 1057 add_proto qw/void vp9_sad16x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
1064 specialize qw/vp9_sad16x32x4d sse2/; | 1058 specialize qw/vp9_sad16x32x4d sse2/; |
1065 | 1059 |
1066 add_proto qw/void vp9_sad32x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 1060 add_proto qw/void vp9_sad32x32x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
1067 specialize qw/vp9_sad32x32x4d sse2 avx2 neon/; | 1061 specialize qw/vp9_sad32x32x4d sse2 avx2/; |
1068 | 1062 |
1069 add_proto qw/void vp9_sad16x16x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 1063 add_proto qw/void vp9_sad16x16x4d/, "const uint8_t *src_ptr, int src_stride, co
nst uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
1070 specialize qw/vp9_sad16x16x4d sse2 neon/; | 1064 specialize qw/vp9_sad16x16x4d sse2/; |
1071 | 1065 |
1072 add_proto qw/void vp9_sad16x8x4d/, "const uint8_t *src_ptr, int src_stride, con
st uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 1066 add_proto qw/void vp9_sad16x8x4d/, "const uint8_t *src_ptr, int src_stride, con
st uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
1073 specialize qw/vp9_sad16x8x4d sse2/; | 1067 specialize qw/vp9_sad16x8x4d sse2/; |
1074 | 1068 |
1075 add_proto qw/void vp9_sad8x16x4d/, "const uint8_t *src_ptr, int src_stride, con
st uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 1069 add_proto qw/void vp9_sad8x16x4d/, "const uint8_t *src_ptr, int src_stride, con
st uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
1076 specialize qw/vp9_sad8x16x4d sse2/; | 1070 specialize qw/vp9_sad8x16x4d sse2/; |
1077 | 1071 |
1078 add_proto qw/void vp9_sad8x8x4d/, "const uint8_t *src_ptr, int src_stride, cons
t uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; | 1072 add_proto qw/void vp9_sad8x8x4d/, "const uint8_t *src_ptr, int src_stride, cons
t uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array"; |
1079 specialize qw/vp9_sad8x8x4d sse2/; | 1073 specialize qw/vp9_sad8x8x4d sse2/; |
1080 | 1074 |
(...skipping 16 matching lines...) Expand all Loading... |
1097 add_proto qw/unsigned int vp9_mse16x8/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; | 1091 add_proto qw/unsigned int vp9_mse16x8/, "const uint8_t *src_ptr, int source_str
ide, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; |
1098 specialize qw/vp9_mse16x8/, "$sse2_x86inc"; | 1092 specialize qw/vp9_mse16x8/, "$sse2_x86inc"; |
1099 | 1093 |
1100 add_proto qw/unsigned int vp9_mse8x8/, "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; | 1094 add_proto qw/unsigned int vp9_mse8x8/, "const uint8_t *src_ptr, int source_stri
de, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse"; |
1101 specialize qw/vp9_mse8x8/, "$sse2_x86inc"; | 1095 specialize qw/vp9_mse8x8/, "$sse2_x86inc"; |
1102 | 1096 |
1103 add_proto qw/unsigned int vp9_get_mb_ss/, "const int16_t *"; | 1097 add_proto qw/unsigned int vp9_get_mb_ss/, "const int16_t *"; |
1104 specialize qw/vp9_get_mb_ss/, "$sse2_x86inc"; | 1098 specialize qw/vp9_get_mb_ss/, "$sse2_x86inc"; |
1105 | 1099 |
1106 add_proto qw/unsigned int vp9_avg_8x8/, "const uint8_t *, int p"; | 1100 add_proto qw/unsigned int vp9_avg_8x8/, "const uint8_t *, int p"; |
1107 specialize qw/vp9_avg_8x8 sse2 neon/; | 1101 specialize qw/vp9_avg_8x8 sse2/; |
1108 | 1102 |
1109 add_proto qw/unsigned int vp9_avg_4x4/, "const uint8_t *, int p"; | 1103 add_proto qw/unsigned int vp9_avg_4x4/, "const uint8_t *, int p"; |
1110 specialize qw/vp9_avg_4x4 sse2/; | 1104 specialize qw/vp9_avg_4x4 sse2/; |
1111 | 1105 |
1112 if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") { | 1106 if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") { |
1113 add_proto qw/unsigned int vp9_highbd_avg_8x8/, "const uint8_t *, int p"; | 1107 add_proto qw/unsigned int vp9_highbd_avg_8x8/, "const uint8_t *, int p"; |
1114 specialize qw/vp9_highbd_avg_8x8/; | 1108 specialize qw/vp9_highbd_avg_8x8/; |
1115 add_proto qw/unsigned int vp9_highbd_avg_4x4/, "const uint8_t *, int p"; | 1109 add_proto qw/unsigned int vp9_highbd_avg_4x4/, "const uint8_t *, int p"; |
1116 specialize qw/vp9_highbd_avg_4x4/; | 1110 specialize qw/vp9_highbd_avg_4x4/; |
1117 } | 1111 } |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1159 add_proto qw/void vp9_quantize_fp_32x32/, "const tran_low_t *coeff_ptr, intptr
_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr,
const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr
, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const
int16_t *scan, const int16_t *iscan"; | 1153 add_proto qw/void vp9_quantize_fp_32x32/, "const tran_low_t *coeff_ptr, intptr
_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr,
const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr
, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const
int16_t *scan, const int16_t *iscan"; |
1160 specialize qw/vp9_quantize_fp_32x32/, "$ssse3_x86_64"; | 1154 specialize qw/vp9_quantize_fp_32x32/, "$ssse3_x86_64"; |
1161 | 1155 |
1162 add_proto qw/void vp9_quantize_b/, "const tran_low_t *coeff_ptr, intptr_t n_co
effs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const i
nt16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_
low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t
*scan, const int16_t *iscan"; | 1156 add_proto qw/void vp9_quantize_b/, "const tran_low_t *coeff_ptr, intptr_t n_co
effs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const i
nt16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_
low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t
*scan, const int16_t *iscan"; |
1163 specialize qw/vp9_quantize_b sse2/, "$ssse3_x86_64"; | 1157 specialize qw/vp9_quantize_b sse2/, "$ssse3_x86_64"; |
1164 | 1158 |
1165 add_proto qw/void vp9_quantize_b_32x32/, "const tran_low_t *coeff_ptr, intptr_
t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, c
onst int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr,
tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const i
nt16_t *scan, const int16_t *iscan"; | 1159 add_proto qw/void vp9_quantize_b_32x32/, "const tran_low_t *coeff_ptr, intptr_
t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, c
onst int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr,
tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const i
nt16_t *scan, const int16_t *iscan"; |
1166 specialize qw/vp9_quantize_b_32x32/, "$ssse3_x86_64"; | 1160 specialize qw/vp9_quantize_b_32x32/, "$ssse3_x86_64"; |
1167 | 1161 |
1168 add_proto qw/void vp9_fdct8x8_quant/, "const int16_t *input, int stride, tran_
low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, co
nst int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr
, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, u
int16_t *eob_ptr, const int16_t *scan, const int16_t *iscan"; | 1162 add_proto qw/void vp9_fdct8x8_quant/, "const int16_t *input, int stride, tran_
low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, co
nst int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr
, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, u
int16_t *eob_ptr, const int16_t *scan, const int16_t *iscan"; |
1169 specialize qw/vp9_fdct8x8_quant sse2 ssse3 neon/; | 1163 specialize qw/vp9_fdct8x8_quant sse2 ssse3/; |
1170 } | 1164 } |
1171 | 1165 |
1172 # | 1166 # |
1173 # Structured Similarity (SSIM) | 1167 # Structured Similarity (SSIM) |
1174 # | 1168 # |
1175 if (vpx_config("CONFIG_INTERNAL_STATS") eq "yes") { | 1169 if (vpx_config("CONFIG_INTERNAL_STATS") eq "yes") { |
1176 add_proto qw/void vp9_ssim_parms_8x8/, "uint8_t *s, int sp, uint8_t *r, int
rp, unsigned long *sum_s, unsigned long *sum_r, unsigned long *sum_sq_s, unsigne
d long *sum_sq_r, unsigned long *sum_sxr"; | 1170 add_proto qw/void vp9_ssim_parms_8x8/, "uint8_t *s, int sp, uint8_t *r, int
rp, unsigned long *sum_s, unsigned long *sum_r, unsigned long *sum_sq_s, unsigne
d long *sum_sq_r, unsigned long *sum_sxr"; |
1177 specialize qw/vp9_ssim_parms_8x8/, "$sse2_x86_64"; | 1171 specialize qw/vp9_ssim_parms_8x8/, "$sse2_x86_64"; |
1178 | 1172 |
1179 add_proto qw/void vp9_ssim_parms_16x16/, "uint8_t *s, int sp, uint8_t *r, in
t rp, unsigned long *sum_s, unsigned long *sum_r, unsigned long *sum_sq_s, unsig
ned long *sum_sq_r, unsigned long *sum_sxr"; | 1173 add_proto qw/void vp9_ssim_parms_16x16/, "uint8_t *s, int sp, uint8_t *r, in
t rp, unsigned long *sum_s, unsigned long *sum_r, unsigned long *sum_sq_s, unsig
ned long *sum_sq_r, unsigned long *sum_sxr"; |
(...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1919 | 1913 |
1920 add_proto qw/void vp9_highbd_temporal_filter_apply/, "uint8_t *frame1, unsigne
d int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_heig
ht, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count"
; | 1914 add_proto qw/void vp9_highbd_temporal_filter_apply/, "uint8_t *frame1, unsigne
d int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_heig
ht, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count"
; |
1921 specialize qw/vp9_highbd_temporal_filter_apply/; | 1915 specialize qw/vp9_highbd_temporal_filter_apply/; |
1922 | 1916 |
1923 } | 1917 } |
1924 # End vp9_high encoder functions | 1918 # End vp9_high encoder functions |
1925 | 1919 |
1926 } | 1920 } |
1927 # end encoder functions | 1921 # end encoder functions |
1928 1; | 1922 1; |
OLD | NEW |