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/; |
277 } | 283 } |
278 | 284 |
279 # | 285 # |
280 # Sub Pixel Filters | 286 # Sub Pixel Filters |
281 # | 287 # |
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"; | 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"; |
283 specialize qw/vp9_convolve_copy neon dspr2/, "$sse2_x86inc"; | 289 specialize qw/vp9_convolve_copy neon dspr2/, "$sse2_x86inc"; |
284 | 290 |
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"; | 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"; |
286 specialize qw/vp9_convolve_avg neon dspr2/, "$sse2_x86inc"; | 292 specialize qw/vp9_convolve_avg neon dspr2/, "$sse2_x86inc"; |
(...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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"; | 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"; |
1037 specialize qw/vp9_sad8x4x8/; | 1043 specialize qw/vp9_sad8x4x8/; |
1038 | 1044 |
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"; | 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"; |
1040 specialize qw/vp9_sad4x8x8/; | 1046 specialize qw/vp9_sad4x8x8/; |
1041 | 1047 |
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"; | 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"; |
1043 specialize qw/vp9_sad4x4x8 sse4/; | 1049 specialize qw/vp9_sad4x4x8 sse4/; |
1044 | 1050 |
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"; | 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"; |
1046 specialize qw/vp9_sad64x64x4d sse2 avx2/; | 1052 specialize qw/vp9_sad64x64x4d sse2 avx2 neon/; |
1047 | 1053 |
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"; | 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"; |
1049 specialize qw/vp9_sad32x64x4d sse2/; | 1055 specialize qw/vp9_sad32x64x4d sse2/; |
1050 | 1056 |
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"; | 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"; |
1052 specialize qw/vp9_sad64x32x4d sse2/; | 1058 specialize qw/vp9_sad64x32x4d sse2/; |
1053 | 1059 |
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"; | 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"; |
1055 specialize qw/vp9_sad32x16x4d sse2/; | 1061 specialize qw/vp9_sad32x16x4d sse2/; |
1056 | 1062 |
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"; | 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"; |
1058 specialize qw/vp9_sad16x32x4d sse2/; | 1064 specialize qw/vp9_sad16x32x4d sse2/; |
1059 | 1065 |
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"; | 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"; |
1061 specialize qw/vp9_sad32x32x4d sse2 avx2/; | 1067 specialize qw/vp9_sad32x32x4d sse2 avx2 neon/; |
1062 | 1068 |
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"; | 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"; |
1064 specialize qw/vp9_sad16x16x4d sse2/; | 1070 specialize qw/vp9_sad16x16x4d sse2 neon/; |
1065 | 1071 |
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"; | 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"; |
1067 specialize qw/vp9_sad16x8x4d sse2/; | 1073 specialize qw/vp9_sad16x8x4d sse2/; |
1068 | 1074 |
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"; | 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"; |
1070 specialize qw/vp9_sad8x16x4d sse2/; | 1076 specialize qw/vp9_sad8x16x4d sse2/; |
1071 | 1077 |
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"; | 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"; |
1073 specialize qw/vp9_sad8x8x4d sse2/; | 1079 specialize qw/vp9_sad8x8x4d sse2/; |
1074 | 1080 |
(...skipping 16 matching lines...) Expand all Loading... |
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"; | 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"; |
1092 specialize qw/vp9_mse16x8/, "$sse2_x86inc"; | 1098 specialize qw/vp9_mse16x8/, "$sse2_x86inc"; |
1093 | 1099 |
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"; | 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"; |
1095 specialize qw/vp9_mse8x8/, "$sse2_x86inc"; | 1101 specialize qw/vp9_mse8x8/, "$sse2_x86inc"; |
1096 | 1102 |
1097 add_proto qw/unsigned int vp9_get_mb_ss/, "const int16_t *"; | 1103 add_proto qw/unsigned int vp9_get_mb_ss/, "const int16_t *"; |
1098 specialize qw/vp9_get_mb_ss/, "$sse2_x86inc"; | 1104 specialize qw/vp9_get_mb_ss/, "$sse2_x86inc"; |
1099 | 1105 |
1100 add_proto qw/unsigned int vp9_avg_8x8/, "const uint8_t *, int p"; | 1106 add_proto qw/unsigned int vp9_avg_8x8/, "const uint8_t *, int p"; |
1101 specialize qw/vp9_avg_8x8 sse2/; | 1107 specialize qw/vp9_avg_8x8 sse2 neon/; |
1102 | 1108 |
1103 add_proto qw/unsigned int vp9_avg_4x4/, "const uint8_t *, int p"; | 1109 add_proto qw/unsigned int vp9_avg_4x4/, "const uint8_t *, int p"; |
1104 specialize qw/vp9_avg_4x4 sse2/; | 1110 specialize qw/vp9_avg_4x4 sse2/; |
1105 | 1111 |
1106 if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") { | 1112 if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") { |
1107 add_proto qw/unsigned int vp9_highbd_avg_8x8/, "const uint8_t *, int p"; | 1113 add_proto qw/unsigned int vp9_highbd_avg_8x8/, "const uint8_t *, int p"; |
1108 specialize qw/vp9_highbd_avg_8x8/; | 1114 specialize qw/vp9_highbd_avg_8x8/; |
1109 add_proto qw/unsigned int vp9_highbd_avg_4x4/, "const uint8_t *, int p"; | 1115 add_proto qw/unsigned int vp9_highbd_avg_4x4/, "const uint8_t *, int p"; |
1110 specialize qw/vp9_highbd_avg_4x4/; | 1116 specialize qw/vp9_highbd_avg_4x4/; |
1111 } | 1117 } |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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"; | 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"; |
1154 specialize qw/vp9_quantize_fp_32x32/, "$ssse3_x86_64"; | 1160 specialize qw/vp9_quantize_fp_32x32/, "$ssse3_x86_64"; |
1155 | 1161 |
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"; | 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"; |
1157 specialize qw/vp9_quantize_b sse2/, "$ssse3_x86_64"; | 1163 specialize qw/vp9_quantize_b sse2/, "$ssse3_x86_64"; |
1158 | 1164 |
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"; | 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"; |
1160 specialize qw/vp9_quantize_b_32x32/, "$ssse3_x86_64"; | 1166 specialize qw/vp9_quantize_b_32x32/, "$ssse3_x86_64"; |
1161 | 1167 |
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"; | 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"; |
1163 specialize qw/vp9_fdct8x8_quant sse2 ssse3/; | 1169 specialize qw/vp9_fdct8x8_quant sse2 ssse3 neon/; |
1164 } | 1170 } |
1165 | 1171 |
1166 # | 1172 # |
1167 # Structured Similarity (SSIM) | 1173 # Structured Similarity (SSIM) |
1168 # | 1174 # |
1169 if (vpx_config("CONFIG_INTERNAL_STATS") eq "yes") { | 1175 if (vpx_config("CONFIG_INTERNAL_STATS") eq "yes") { |
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"; | 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"; |
1171 specialize qw/vp9_ssim_parms_8x8/, "$sse2_x86_64"; | 1177 specialize qw/vp9_ssim_parms_8x8/, "$sse2_x86_64"; |
1172 | 1178 |
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"; | 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"; |
(...skipping 739 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1913 | 1919 |
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"
; | 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"
; |
1915 specialize qw/vp9_highbd_temporal_filter_apply/; | 1921 specialize qw/vp9_highbd_temporal_filter_apply/; |
1916 | 1922 |
1917 } | 1923 } |
1918 # End vp9_high encoder functions | 1924 # End vp9_high encoder functions |
1919 | 1925 |
1920 } | 1926 } |
1921 # end encoder functions | 1927 # end encoder functions |
1922 1; | 1928 1; |
OLD | NEW |