/work/build/config/av2_rtcd.h
Line | Count | Source |
1 | | // This file is generated. Do not edit. |
2 | | #ifndef AV2_RTCD_H_ |
3 | | #define AV2_RTCD_H_ |
4 | | |
5 | | #ifdef RTCD_C |
6 | | #define RTCD_EXTERN |
7 | | #else |
8 | | #define RTCD_EXTERN extern |
9 | | #endif |
10 | | |
11 | | /* |
12 | | * AV2 |
13 | | */ |
14 | | |
15 | | #include "avm/avm_integer.h" |
16 | | #include "avm_dsp/txfm_common.h" |
17 | | #include "av2/common/common.h" |
18 | | #include "av2/common/enums.h" |
19 | | #include "av2/common/quant_common.h" |
20 | | #include "av2/common/filter.h" |
21 | | #include "av2/common/convolve.h" |
22 | | #include "av2/common/av2_txfm.h" |
23 | | #include "av2/common/odintrin.h" |
24 | | #include "av2/common/restoration.h" |
25 | | |
26 | | struct macroblockd; |
27 | | |
28 | | /* Encoder forward decls */ |
29 | | struct macroblock; |
30 | | struct txfm_param; |
31 | | struct avm_variance_vtable; |
32 | | struct search_site_config; |
33 | | struct yv12_buffer_config; |
34 | | struct NN_CONFIG; |
35 | | typedef struct NN_CONFIG NN_CONFIG; |
36 | | struct tcq_node_t; |
37 | | struct tcq_ctx_t; |
38 | | struct tcq_lf_ctx_t; |
39 | | struct prequant_t; |
40 | | struct tcq_rate_t; |
41 | | struct tcq_coeff_ctx_t; |
42 | | struct tcq_param_t; |
43 | | struct LV_MAP_COEFF_COST; |
44 | | |
45 | | enum { NONE, RELU, SOFTSIGN, SIGMOID } UENUM1BYTE(ACTIVATION); |
46 | | #if CONFIG_NN_V2 |
47 | | enum { SOFTMAX_CROSS_ENTROPY } UENUM1BYTE(LOSS); |
48 | | struct NN_CONFIG_V2; |
49 | | typedef struct NN_CONFIG_V2 NN_CONFIG_V2; |
50 | | struct FC_LAYER; |
51 | | typedef struct FC_LAYER FC_LAYER; |
52 | | #endif // CONFIG_NN_V2 |
53 | | |
54 | | struct CNN_CONFIG; |
55 | | typedef struct CNN_CONFIG CNN_CONFIG; |
56 | | struct CNN_LAYER_CONFIG; |
57 | | typedef struct CNN_LAYER_CONFIG CNN_LAYER_CONFIG; |
58 | | struct CNN_THREAD_DATA; |
59 | | typedef struct CNN_THREAD_DATA CNN_THREAD_DATA; |
60 | | struct CNN_BRANCH_CONFIG; |
61 | | typedef struct CNN_BRANCH_CONFIG CNN_BRANCH_CONFIG; |
62 | | struct CNN_MULTI_OUT; |
63 | | typedef struct CNN_MULTI_OUT CNN_MULTI_OUT; |
64 | | |
65 | | /* Function pointers return by CfL functions */ |
66 | | typedef void (*av2_cfl_subsample_hbd_fn)(const uint16_t *input, int input_stride, |
67 | | uint16_t *output_q3); |
68 | | |
69 | | typedef void (*av2_cfl_predict_hbd_fn)(const int16_t *src, uint16_t *dst, |
70 | | int dst_stride, int alpha_q3, int bd); |
71 | | |
72 | | typedef void (*av2_cfl_subtract_average_fn)(const uint16_t *src, int16_t *dst); |
73 | | |
74 | | |
75 | | #ifdef __cplusplus |
76 | | extern "C" { |
77 | | #endif |
78 | | |
79 | | void av2_avg_pooling_pdiff_gradients_c(int16_t *pdiff, const int pstride, int16_t *gx, int16_t *gy, const int gstride, const int bw, const int bh, const int n); |
80 | | void av2_avg_pooling_pdiff_gradients_avx2(int16_t *pdiff, const int pstride, int16_t *gx, int16_t *gy, const int gstride, const int bw, const int bh, const int n); |
81 | | RTCD_EXTERN void (*av2_avg_pooling_pdiff_gradients)(int16_t *pdiff, const int pstride, int16_t *gx, int16_t *gy, const int gstride, const int bw, const int bh, const int n); |
82 | | |
83 | | void av2_bicubic_grad_interpolation_highbd_c(const int16_t *pred_src, int16_t *x_grad, int16_t *y_grad, const int stride, const int blk_width, const int blk_height); |
84 | | void av2_bicubic_grad_interpolation_highbd_sse4_1(const int16_t *pred_src, int16_t *x_grad, int16_t *y_grad, const int stride, const int blk_width, const int blk_height); |
85 | | void av2_bicubic_grad_interpolation_highbd_avx2(const int16_t *pred_src, int16_t *x_grad, int16_t *y_grad, const int stride, const int blk_width, const int blk_height); |
86 | | RTCD_EXTERN void (*av2_bicubic_grad_interpolation_highbd)(const int16_t *pred_src, int16_t *x_grad, int16_t *y_grad, const int stride, const int blk_width, const int blk_height); |
87 | | |
88 | | void av2_build_compound_diffwtd_mask_d16_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); |
89 | | void av2_build_compound_diffwtd_mask_d16_sse4_1(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); |
90 | | void av2_build_compound_diffwtd_mask_d16_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); |
91 | | RTCD_EXTERN void (*av2_build_compound_diffwtd_mask_d16)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const CONV_BUF_TYPE *src0, int src0_stride, const CONV_BUF_TYPE *src1, int src1_stride, int h, int w, ConvolveParams *conv_params, int bd); |
92 | | |
93 | | void av2_build_compound_diffwtd_mask_highbd_c(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint16_t *src0, int src0_stride, const uint16_t *src1, int src1_stride, int h, int w, int bd); |
94 | | void av2_build_compound_diffwtd_mask_highbd_ssse3(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint16_t *src0, int src0_stride, const uint16_t *src1, int src1_stride, int h, int w, int bd); |
95 | | void av2_build_compound_diffwtd_mask_highbd_avx2(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint16_t *src0, int src0_stride, const uint16_t *src1, int src1_stride, int h, int w, int bd); |
96 | | RTCD_EXTERN void (*av2_build_compound_diffwtd_mask_highbd)(uint8_t *mask, DIFFWTD_MASK_TYPE mask_type, const uint16_t *src0, int src0_stride, const uint16_t *src1, int src1_stride, int h, int w, int bd); |
97 | | |
98 | | void av2_cdef_copy_rect8_16bit_to_16bit_c(uint16_t *const dst, int dstride, const uint16_t *src, int sstride, int v, int h); |
99 | | void av2_cdef_copy_rect8_16bit_to_16bit_sse2(uint16_t *const dst, int dstride, const uint16_t *src, int sstride, int v, int h); |
100 | | void av2_cdef_copy_rect8_16bit_to_16bit_ssse3(uint16_t *const dst, int dstride, const uint16_t *src, int sstride, int v, int h); |
101 | | void av2_cdef_copy_rect8_16bit_to_16bit_sse4_1(uint16_t *const dst, int dstride, const uint16_t *src, int sstride, int v, int h); |
102 | | void av2_cdef_copy_rect8_16bit_to_16bit_avx2(uint16_t *const dst, int dstride, const uint16_t *src, int sstride, int v, int h); |
103 | | RTCD_EXTERN void (*av2_cdef_copy_rect8_16bit_to_16bit)(uint16_t *const dst, int dstride, const uint16_t *src, int sstride, int v, int h); |
104 | | |
105 | | void av2_cdef_filter_16_0_c(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
106 | | void av2_cdef_filter_16_0_sse2(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
107 | | void av2_cdef_filter_16_0_ssse3(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
108 | | void av2_cdef_filter_16_0_sse4_1(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
109 | | void av2_cdef_filter_16_0_avx2(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
110 | | RTCD_EXTERN void (*av2_cdef_filter_16_0)(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
111 | | |
112 | | void av2_cdef_filter_16_1_c(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
113 | | void av2_cdef_filter_16_1_sse2(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
114 | | void av2_cdef_filter_16_1_ssse3(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
115 | | void av2_cdef_filter_16_1_sse4_1(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
116 | | void av2_cdef_filter_16_1_avx2(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
117 | | RTCD_EXTERN void (*av2_cdef_filter_16_1)(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
118 | | |
119 | | void av2_cdef_filter_16_2_c(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
120 | | void av2_cdef_filter_16_2_sse2(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
121 | | void av2_cdef_filter_16_2_ssse3(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
122 | | void av2_cdef_filter_16_2_sse4_1(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
123 | | void av2_cdef_filter_16_2_avx2(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
124 | | RTCD_EXTERN void (*av2_cdef_filter_16_2)(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
125 | | |
126 | | void av2_cdef_filter_16_3_c(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
127 | | void av2_cdef_filter_16_3_sse2(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
128 | | void av2_cdef_filter_16_3_ssse3(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
129 | | void av2_cdef_filter_16_3_sse4_1(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
130 | | void av2_cdef_filter_16_3_avx2(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
131 | | RTCD_EXTERN void (*av2_cdef_filter_16_3)(uint16_t *const dst16, int dstride, const uint16_t *in, int pri_strength, int sec_strength, int dir, int pri_damping, int sec_damping, int coeff_shift, int block_width, int block_height); |
132 | | |
133 | | int av2_cdef_find_dir_c(const uint16_t *img, int stride, int32_t *var, int coeff_shift); |
134 | | int av2_cdef_find_dir_sse2(const uint16_t *img, int stride, int32_t *var, int coeff_shift); |
135 | | int av2_cdef_find_dir_ssse3(const uint16_t *img, int stride, int32_t *var, int coeff_shift); |
136 | | int av2_cdef_find_dir_sse4_1(const uint16_t *img, int stride, int32_t *var, int coeff_shift); |
137 | | int av2_cdef_find_dir_avx2(const uint16_t *img, int stride, int32_t *var, int coeff_shift); |
138 | | RTCD_EXTERN int (*av2_cdef_find_dir)(const uint16_t *img, int stride, int32_t *var, int coeff_shift); |
139 | | |
140 | | void av2_cdef_find_dir_dual_c(const uint16_t *img1, const uint16_t *img2, int stride, int32_t *var1, int32_t *var2, int coeff_shift, int *out1, int *out2); |
141 | | void av2_cdef_find_dir_dual_sse2(const uint16_t *img1, const uint16_t *img2, int stride, int32_t *var1, int32_t *var2, int coeff_shift, int *out1, int *out2); |
142 | | void av2_cdef_find_dir_dual_ssse3(const uint16_t *img1, const uint16_t *img2, int stride, int32_t *var1, int32_t *var2, int coeff_shift, int *out1, int *out2); |
143 | | void av2_cdef_find_dir_dual_sse4_1(const uint16_t *img1, const uint16_t *img2, int stride, int32_t *var1, int32_t *var2, int coeff_shift, int *out1, int *out2); |
144 | | void av2_cdef_find_dir_dual_avx2(const uint16_t *img1, const uint16_t *img2, int stride, int32_t *var1, int32_t *var2, int coeff_shift, int *out1, int *out2); |
145 | | RTCD_EXTERN void (*av2_cdef_find_dir_dual)(const uint16_t *img1, const uint16_t *img2, int stride, int32_t *var1, int32_t *var2, int coeff_shift, int *out1, int *out2); |
146 | | |
147 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_420_hbd_c(TX_SIZE tx_size); |
148 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_420_hbd_ssse3(TX_SIZE tx_size); |
149 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_420_hbd_avx2(TX_SIZE tx_size); |
150 | | RTCD_EXTERN av2_cfl_subsample_hbd_fn (*av2_cfl_get_luma_subsampling_420_hbd)(TX_SIZE tx_size); |
151 | | |
152 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_420_hbd_121_c(TX_SIZE tx_size); |
153 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_420_hbd_121_avx2(TX_SIZE tx_size); |
154 | | RTCD_EXTERN av2_cfl_subsample_hbd_fn (*av2_cfl_get_luma_subsampling_420_hbd_121)(TX_SIZE tx_size); |
155 | | |
156 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_420_hbd_colocated_c(TX_SIZE tx_size); |
157 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_420_hbd_colocated_avx2(TX_SIZE tx_size); |
158 | | RTCD_EXTERN av2_cfl_subsample_hbd_fn (*av2_cfl_get_luma_subsampling_420_hbd_colocated)(TX_SIZE tx_size); |
159 | | |
160 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_422_hbd_c(TX_SIZE tx_size); |
161 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_422_hbd_ssse3(TX_SIZE tx_size); |
162 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_422_hbd_avx2(TX_SIZE tx_size); |
163 | | RTCD_EXTERN av2_cfl_subsample_hbd_fn (*av2_cfl_get_luma_subsampling_422_hbd)(TX_SIZE tx_size); |
164 | | |
165 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_444_hbd_c(TX_SIZE tx_size); |
166 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_444_hbd_ssse3(TX_SIZE tx_size); |
167 | | av2_cfl_subsample_hbd_fn av2_cfl_get_luma_subsampling_444_hbd_avx2(TX_SIZE tx_size); |
168 | | RTCD_EXTERN av2_cfl_subsample_hbd_fn (*av2_cfl_get_luma_subsampling_444_hbd)(TX_SIZE tx_size); |
169 | | |
170 | | av2_cfl_predict_hbd_fn av2_cfl_get_predict_hbd_fn_c(TX_SIZE tx_size); |
171 | | av2_cfl_predict_hbd_fn av2_cfl_get_predict_hbd_fn_avx2(TX_SIZE tx_size); |
172 | | RTCD_EXTERN av2_cfl_predict_hbd_fn (*av2_cfl_get_predict_hbd_fn)(TX_SIZE tx_size); |
173 | | |
174 | | av2_cfl_subtract_average_fn av2_cfl_get_subtract_average_fn_c(TX_SIZE tx_size); |
175 | | av2_cfl_subtract_average_fn av2_cfl_get_subtract_average_fn_sse2(TX_SIZE tx_size); |
176 | | av2_cfl_subtract_average_fn av2_cfl_get_subtract_average_fn_avx2(TX_SIZE tx_size); |
177 | | RTCD_EXTERN av2_cfl_subtract_average_fn (*av2_cfl_get_subtract_average_fn)(TX_SIZE tx_size); |
178 | | |
179 | | void av2_cnn_activate_c( float **input, int channels, int width, int height, int stride, ACTIVATION layer_activation); |
180 | | #define av2_cnn_activate av2_cnn_activate_c |
181 | | |
182 | | void av2_cnn_add_c( float **input, int channels, int width, int height, int stride, const float **add); |
183 | | #define av2_cnn_add av2_cnn_add_c |
184 | | |
185 | | void av2_cnn_batchnorm_c(float **image, int channels, int width, int height, int stride, const float *gamma, const float *beta, const float *mean, const float *std); |
186 | | #define av2_cnn_batchnorm av2_cnn_batchnorm_c |
187 | | |
188 | | void av2_cnn_convolve_c( const float **input, int in_width, int in_height, int in_stride, const CNN_LAYER_CONFIG *layer_config, float **output, int out_stride, int start_idx, int step); |
189 | | #define av2_cnn_convolve av2_cnn_convolve_c |
190 | | |
191 | | void av2_cnn_deconvolve_c( const float **input, int in_width, int in_height, int in_stride, const CNN_LAYER_CONFIG *layer_config, float **output, int out_stride); |
192 | | #define av2_cnn_deconvolve av2_cnn_deconvolve_c |
193 | | |
194 | | void av2_cnn_predict_c( const float **input, int in_width, int in_height, int in_stride, const CNN_CONFIG *cnn_config, const CNN_THREAD_DATA *thread_data, CNN_MULTI_OUT *output_struct); |
195 | | #define av2_cnn_predict av2_cnn_predict_c |
196 | | |
197 | | void av2_convolve_mixedsymmetric_highbd_c(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
198 | | void av2_convolve_mixedsymmetric_highbd_avx2(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
199 | | RTCD_EXTERN void (*av2_convolve_mixedsymmetric_highbd)(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
200 | | |
201 | | void av2_convolve_symmetric_blk8x8_highbd_c(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
202 | | void av2_convolve_symmetric_blk8x8_highbd_avx2(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
203 | | RTCD_EXTERN void (*av2_convolve_symmetric_blk8x8_highbd)(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
204 | | |
205 | | void av2_convolve_symmetric_dual_highbd_c(const uint16_t *dgd, int dgd_stride, const uint16_t *dgd_dual, int dgd_dual_stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
206 | | void av2_convolve_symmetric_dual_highbd_avx2(const uint16_t *dgd, int dgd_stride, const uint16_t *dgd_dual, int dgd_dual_stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
207 | | RTCD_EXTERN void (*av2_convolve_symmetric_dual_highbd)(const uint16_t *dgd, int dgd_stride, const uint16_t *dgd_dual, int dgd_dual_stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
208 | | |
209 | | void av2_convolve_symmetric_dual_subtract_center_highbd_c(const uint16_t *dgd, int dgd_stride, const uint16_t *dgd_dual, int dgd_dual_stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
210 | | void av2_convolve_symmetric_dual_subtract_center_highbd_avx2(const uint16_t *dgd, int dgd_stride, const uint16_t *dgd_dual, int dgd_dual_stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
211 | | RTCD_EXTERN void (*av2_convolve_symmetric_dual_subtract_center_highbd)(const uint16_t *dgd, int dgd_stride, const uint16_t *dgd_dual, int dgd_dual_stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
212 | | |
213 | | void av2_convolve_symmetric_highbd_c(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
214 | | void av2_convolve_symmetric_highbd_avx2(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
215 | | RTCD_EXTERN void (*av2_convolve_symmetric_highbd)(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
216 | | |
217 | | void av2_convolve_symmetric_subtract_center_highbd_c(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
218 | | void av2_convolve_symmetric_subtract_center_highbd_avx2(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
219 | | RTCD_EXTERN void (*av2_convolve_symmetric_subtract_center_highbd)(const uint16_t *dgd, int stride, const NonsepFilterConfig *filter_config, const int16_t *filter, uint16_t *dst, int dst_stride, int bit_depth, int block_row_begin, int block_row_end, int block_col_begin, int block_col_end); |
220 | | |
221 | | void av2_copy_pred_array_highbd_c(const uint16_t *src1, const uint16_t *src2, int src_stride, int16_t *dst1,int16_t *dst2, int bw, int bh, int d0, int d1, int bd, int centered); |
222 | | void av2_copy_pred_array_highbd_sse4_1(const uint16_t *src1, const uint16_t *src2, int src_stride, int16_t *dst1,int16_t *dst2, int bw, int bh, int d0, int d1, int bd, int centered); |
223 | | void av2_copy_pred_array_highbd_avx2(const uint16_t *src1, const uint16_t *src2, int src_stride, int16_t *dst1,int16_t *dst2, int bw, int bh, int d0, int d1, int bd, int centered); |
224 | | RTCD_EXTERN void (*av2_copy_pred_array_highbd)(const uint16_t *src1, const uint16_t *src2, int src_stride, int16_t *dst1,int16_t *dst2, int bw, int bh, int d0, int d1, int bd, int centered); |
225 | | |
226 | | void av2_dip_matrix_multiplication_c(const uint16_t *A, const uint16_t *B, uint16_t *C, int bd); |
227 | | void av2_dip_matrix_multiplication_avx2(const uint16_t *A, const uint16_t *B, uint16_t *C, int bd); |
228 | | RTCD_EXTERN void (*av2_dip_matrix_multiplication)(const uint16_t *A, const uint16_t *B, uint16_t *C, int bd); |
229 | | |
230 | | void av2_ext_highbd_warp_affine_c(const int32_t *mat, const uint16_t *ref, int width, int height, int stride, uint16_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, int bd, ConvolveParams *conv_params, int use_warp_bd_box, PadBlock *warp_bd_box); |
231 | | void av2_ext_highbd_warp_affine_sse4_1(const int32_t *mat, const uint16_t *ref, int width, int height, int stride, uint16_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, int bd, ConvolveParams *conv_params, int use_warp_bd_box, PadBlock *warp_bd_box); |
232 | | RTCD_EXTERN void (*av2_ext_highbd_warp_affine)(const int32_t *mat, const uint16_t *ref, int width, int height, int stride, uint16_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, int bd, ConvolveParams *conv_params, int use_warp_bd_box, PadBlock *warp_bd_box); |
233 | | |
234 | | void av2_fill_directional_feature_accumulators_c(int dir_feature_accum[NUM_PC_WIENER_FEATURES][PC_WIENER_FEATURE_ACC_SIZE], int *feature_sum_buff[NUM_PC_WIENER_FEATURES], int width, int col_offset, int feature_lead, int feature_lag); |
235 | | void av2_fill_directional_feature_accumulators_avx2(int dir_feature_accum[NUM_PC_WIENER_FEATURES][PC_WIENER_FEATURE_ACC_SIZE], int *feature_sum_buff[NUM_PC_WIENER_FEATURES], int width, int col_offset, int feature_lead, int feature_lag); |
236 | | RTCD_EXTERN void (*av2_fill_directional_feature_accumulators)(int dir_feature_accum[NUM_PC_WIENER_FEATURES][PC_WIENER_FEATURE_ACC_SIZE], int *feature_sum_buff[NUM_PC_WIENER_FEATURES], int width, int col_offset, int feature_lead, int feature_lag); |
237 | | |
238 | | void av2_fill_tskip_feature_accumulator_c(int16_t tskip_feature_accum[PC_WIENER_FEATURE_ACC_SIZE], int8_t* tskip_sum_buff, int width, int col_offset,int tskip_lead, int tskip_lag); |
239 | | void av2_fill_tskip_feature_accumulator_avx2(int16_t tskip_feature_accum[PC_WIENER_FEATURE_ACC_SIZE], int8_t* tskip_sum_buff, int width, int col_offset,int tskip_lead, int tskip_lag); |
240 | | RTCD_EXTERN void (*av2_fill_tskip_feature_accumulator)(int16_t tskip_feature_accum[PC_WIENER_FEATURE_ACC_SIZE], int8_t* tskip_sum_buff, int width, int col_offset,int tskip_lead, int tskip_lag); |
241 | | |
242 | | void av2_fill_tskip_sum_buffer_c(int row, const uint8_t *tskip, int tskip_stride, int8_t *tskip_sum_buffer, int width, int height, int tskip_lead, int tskip_lag, bool use_strict_bounds); |
243 | | void av2_fill_tskip_sum_buffer_avx2(int row, const uint8_t *tskip, int tskip_stride, int8_t *tskip_sum_buffer, int width, int height, int tskip_lead, int tskip_lag, bool use_strict_bounds); |
244 | | RTCD_EXTERN void (*av2_fill_tskip_sum_buffer)(int row, const uint8_t *tskip, int tskip_stride, int8_t *tskip_sum_buffer, int width, int height, int tskip_lead, int tskip_lag, bool use_strict_bounds); |
245 | | |
246 | | void av2_filter_intra_edge_high_c(uint16_t *p, int sz, int strength); |
247 | | void av2_filter_intra_edge_high_sse4_1(uint16_t *p, int sz, int strength); |
248 | | RTCD_EXTERN void (*av2_filter_intra_edge_high)(uint16_t *p, int sz, int strength); |
249 | | |
250 | | void av2_highbd_convolve_2d_scale_c(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int x_step_qn, const int subpel_y_qn, const int y_step_qn, ConvolveParams *conv_params, int bd); |
251 | | void av2_highbd_convolve_2d_scale_sse4_1(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int x_step_qn, const int subpel_y_qn, const int y_step_qn, ConvolveParams *conv_params, int bd); |
252 | | RTCD_EXTERN void (*av2_highbd_convolve_2d_scale)(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int x_step_qn, const int subpel_y_qn, const int y_step_qn, ConvolveParams *conv_params, int bd); |
253 | | |
254 | | void av2_highbd_convolve_2d_sr_c(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
255 | | void av2_highbd_convolve_2d_sr_ssse3(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
256 | | void av2_highbd_convolve_2d_sr_avx2(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
257 | | RTCD_EXTERN void (*av2_highbd_convolve_2d_sr)(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
258 | | |
259 | | void av2_highbd_convolve_horiz_rs_c(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const int16_t *x_filters, int x0_qn, int x_step_qn, int bd); |
260 | | void av2_highbd_convolve_horiz_rs_sse4_1(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const int16_t *x_filters, int x0_qn, int x_step_qn, int bd); |
261 | | RTCD_EXTERN void (*av2_highbd_convolve_horiz_rs)(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const int16_t *x_filters, int x0_qn, int x_step_qn, int bd); |
262 | | |
263 | | void av2_highbd_convolve_x_sr_c(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params, int bd); |
264 | | void av2_highbd_convolve_x_sr_ssse3(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params, int bd); |
265 | | void av2_highbd_convolve_x_sr_avx2(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params, int bd); |
266 | | RTCD_EXTERN void (*av2_highbd_convolve_x_sr)(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params, int bd); |
267 | | |
268 | | void av2_highbd_convolve_y_sr_c(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, int bd); |
269 | | void av2_highbd_convolve_y_sr_ssse3(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, int bd); |
270 | | void av2_highbd_convolve_y_sr_avx2(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, int bd); |
271 | | RTCD_EXTERN void (*av2_highbd_convolve_y_sr)(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, int bd); |
272 | | |
273 | | void av2_highbd_dist_wtd_convolve_2d_c(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
274 | | void av2_highbd_dist_wtd_convolve_2d_sse4_1(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
275 | | void av2_highbd_dist_wtd_convolve_2d_avx2(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
276 | | RTCD_EXTERN void (*av2_highbd_dist_wtd_convolve_2d)(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const InterpFilterParams *filter_params_y, const int subpel_x_qn, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
277 | | |
278 | | void av2_highbd_dist_wtd_convolve_2d_copy_c(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, ConvolveParams *conv_params, int bd); |
279 | | void av2_highbd_dist_wtd_convolve_2d_copy_sse4_1(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, ConvolveParams *conv_params, int bd); |
280 | | void av2_highbd_dist_wtd_convolve_2d_copy_avx2(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, ConvolveParams *conv_params, int bd); |
281 | | RTCD_EXTERN void (*av2_highbd_dist_wtd_convolve_2d_copy)(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, ConvolveParams *conv_params, int bd); |
282 | | |
283 | | void av2_highbd_dist_wtd_convolve_x_c(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params, int bd); |
284 | | void av2_highbd_dist_wtd_convolve_x_sse4_1(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params, int bd); |
285 | | void av2_highbd_dist_wtd_convolve_x_avx2(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params, int bd); |
286 | | RTCD_EXTERN void (*av2_highbd_dist_wtd_convolve_x)(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_x, const int subpel_x_qn, ConvolveParams *conv_params, int bd); |
287 | | |
288 | | void av2_highbd_dist_wtd_convolve_y_c(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
289 | | void av2_highbd_dist_wtd_convolve_y_sse4_1(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
290 | | void av2_highbd_dist_wtd_convolve_y_avx2(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
291 | | RTCD_EXTERN void (*av2_highbd_dist_wtd_convolve_y)(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int w, int h, const InterpFilterParams *filter_params_y, const int subpel_y_qn, ConvolveParams *conv_params, int bd); |
292 | | |
293 | | void av2_highbd_dr_prediction_z1_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
294 | | void av2_highbd_dr_prediction_z1_avx2(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
295 | | RTCD_EXTERN void (*av2_highbd_dr_prediction_z1)(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
296 | | |
297 | | void av2_highbd_dr_prediction_z1_idif_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
298 | | void av2_highbd_dr_prediction_z1_idif_avx2(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
299 | | RTCD_EXTERN void (*av2_highbd_dr_prediction_z1_idif)(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
300 | | |
301 | | void av2_highbd_dr_prediction_z2_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
302 | | void av2_highbd_dr_prediction_z2_avx2(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
303 | | RTCD_EXTERN void (*av2_highbd_dr_prediction_z2)(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
304 | | |
305 | | void av2_highbd_dr_prediction_z2_idif_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
306 | | void av2_highbd_dr_prediction_z2_idif_avx2(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
307 | | RTCD_EXTERN void (*av2_highbd_dr_prediction_z2_idif)(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
308 | | |
309 | | void av2_highbd_dr_prediction_z3_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
310 | | void av2_highbd_dr_prediction_z3_avx2(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
311 | | RTCD_EXTERN void (*av2_highbd_dr_prediction_z3)(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
312 | | |
313 | | void av2_highbd_dr_prediction_z3_idif_c(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
314 | | void av2_highbd_dr_prediction_z3_idif_avx2(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
315 | | RTCD_EXTERN void (*av2_highbd_dr_prediction_z3_idif)(uint16_t *dst, ptrdiff_t stride, int bw, int bh, const uint16_t *above, const uint16_t *left, int dx, int dy, int bd, int mrl_index); |
316 | | |
317 | | void av2_highbd_ibp_dr_prediction_z1_c(const IbpWeightsType weights[][IBP_WEIGHT_SIZE][DIR_MODES_0_90], int mode_idx, uint16_t *dst, ptrdiff_t stride, uint16_t* second_pred, ptrdiff_t second_stride, int bw, int bh); |
318 | | #define av2_highbd_ibp_dr_prediction_z1 av2_highbd_ibp_dr_prediction_z1_c |
319 | | |
320 | | void av2_highbd_ibp_dr_prediction_z3_c(const IbpWeightsType weights[][IBP_WEIGHT_SIZE][DIR_MODES_0_90], int mode_idx, uint16_t *dst, ptrdiff_t stride, uint16_t* second_pred, ptrdiff_t second_stride, int bw, int bh); |
321 | | #define av2_highbd_ibp_dr_prediction_z3 av2_highbd_ibp_dr_prediction_z3_c |
322 | | |
323 | | void av2_highbd_inv_txfm_add_c(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
324 | | void av2_highbd_inv_txfm_add_sse4_1(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
325 | | void av2_highbd_inv_txfm_add_avx2(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
326 | | RTCD_EXTERN void (*av2_highbd_inv_txfm_add)(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
327 | | |
328 | | void av2_highbd_inv_txfm_add_horz_c(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
329 | 197k | #define av2_highbd_inv_txfm_add_horz av2_highbd_inv_txfm_add_horz_c |
330 | | |
331 | | void av2_highbd_inv_txfm_add_vert_c(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
332 | 182k | #define av2_highbd_inv_txfm_add_vert av2_highbd_inv_txfm_add_vert_c |
333 | | |
334 | | void av2_highbd_iwht4x4_16_add_c(const tran_low_t *input, uint16_t *dest, int dest_stride, int bd); |
335 | 134k | #define av2_highbd_iwht4x4_16_add av2_highbd_iwht4x4_16_add_c |
336 | | |
337 | | void av2_highbd_iwht4x4_16_horz_add_c(const tran_low_t *input, uint16_t *dest, int dest_stride, int bd); |
338 | 79.3k | #define av2_highbd_iwht4x4_16_horz_add av2_highbd_iwht4x4_16_horz_add_c |
339 | | |
340 | | void av2_highbd_iwht4x4_16_vert_add_c(const tran_low_t *input, uint16_t *dest, int dest_stride, int bd); |
341 | 64.9k | #define av2_highbd_iwht4x4_16_vert_add av2_highbd_iwht4x4_16_vert_add_c |
342 | | |
343 | | void av2_highbd_iwht4x4_1_add_c(const tran_low_t *input, uint16_t *dest, int dest_stride, int bd); |
344 | 452k | #define av2_highbd_iwht4x4_1_add av2_highbd_iwht4x4_1_add_c |
345 | | |
346 | | void av2_highbd_iwht4x4_1_horz_add_c(const tran_low_t *input, uint16_t *dest, int dest_stride, int bd); |
347 | 113k | #define av2_highbd_iwht4x4_1_horz_add av2_highbd_iwht4x4_1_horz_add_c |
348 | | |
349 | | void av2_highbd_iwht4x4_1_vert_add_c(const tran_low_t *input, uint16_t *dest, int dest_stride, int bd); |
350 | 112k | #define av2_highbd_iwht4x4_1_vert_add av2_highbd_iwht4x4_1_vert_add_c |
351 | | |
352 | | void av2_highbd_warp_affine_c(const int32_t *mat, const uint16_t *ref, int width, int height, int stride, uint16_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, int bd, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta); |
353 | | void av2_highbd_warp_affine_sse4_1(const int32_t *mat, const uint16_t *ref, int width, int height, int stride, uint16_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, int bd, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta); |
354 | | void av2_highbd_warp_affine_avx2(const int32_t *mat, const uint16_t *ref, int width, int height, int stride, uint16_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, int bd, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta); |
355 | | RTCD_EXTERN void (*av2_highbd_warp_affine)(const int32_t *mat, const uint16_t *ref, int width, int height, int stride, uint16_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, int bd, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta); |
356 | | |
357 | | void av2_highbd_wiener_convolve_add_src_c(const uint16_t *src, ptrdiff_t src_stride, uint16_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const WienerConvolveParams *conv_params, int bd); |
358 | | void av2_highbd_wiener_convolve_add_src_ssse3(const uint16_t *src, ptrdiff_t src_stride, uint16_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const WienerConvolveParams *conv_params, int bd); |
359 | | void av2_highbd_wiener_convolve_add_src_avx2(const uint16_t *src, ptrdiff_t src_stride, uint16_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const WienerConvolveParams *conv_params, int bd); |
360 | | RTCD_EXTERN void (*av2_highbd_wiener_convolve_add_src)(const uint16_t *src, ptrdiff_t src_stride, uint16_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h, const WienerConvolveParams *conv_params, int bd); |
361 | | |
362 | | void av2_inv_idfm2d_add_4x4_horz_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); |
363 | | #define av2_inv_idfm2d_add_4x4_horz av2_inv_idfm2d_add_4x4_horz_c |
364 | | |
365 | | void av2_inv_idfm2d_add_4x4_vert_c(const int32_t *input, uint16_t *output, int stride, TX_TYPE tx_type, int bd); |
366 | | #define av2_inv_idfm2d_add_4x4_vert av2_inv_idfm2d_add_4x4_vert_c |
367 | | |
368 | | void av2_lossless_inv_idtx_add_c(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
369 | | void av2_lossless_inv_idtx_add_avx2(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
370 | | RTCD_EXTERN void (*av2_lossless_inv_idtx_add)(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
371 | | |
372 | | void av2_lossless_inv_idtx_add_horz_c(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
373 | 4.54k | #define av2_lossless_inv_idtx_add_horz av2_lossless_inv_idtx_add_horz_c |
374 | | |
375 | | void av2_lossless_inv_idtx_add_vert_c(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
376 | 5.48k | #define av2_lossless_inv_idtx_add_vert av2_lossless_inv_idtx_add_vert_c |
377 | | |
378 | | void av2_make_bawp_block_c(uint16_t *dst, int dst_stride, int16_t alpha, int32_t beta, int shift, int bw, int bh, int bd); |
379 | | void av2_make_bawp_block_avx2(uint16_t *dst, int dst_stride, int16_t alpha, int32_t beta, int shift, int bw, int bh, int bd); |
380 | | RTCD_EXTERN void (*av2_make_bawp_block)(uint16_t *dst, int dst_stride, int16_t alpha, int32_t beta, int shift, int bw, int bh, int bd); |
381 | | |
382 | | void av2_mhccp_derive_multi_param_hv_c(MACROBLOCKD *const xd, int plane,int above_lines, int left_lines, int ref_width,int ref_height, int dir, int is_top_sb_boundary); |
383 | | void av2_mhccp_derive_multi_param_hv_avx2(MACROBLOCKD *const xd, int plane,int above_lines, int left_lines, int ref_width,int ref_height, int dir, int is_top_sb_boundary); |
384 | | RTCD_EXTERN void (*av2_mhccp_derive_multi_param_hv)(MACROBLOCKD *const xd, int plane,int above_lines, int left_lines, int ref_width,int ref_height, int dir, int is_top_sb_boundary); |
385 | | |
386 | | void av2_mhccp_implicit_fetch_neighbor_chroma_c(const uint16_t *dst, int input_stride, TX_SIZE tx_size, int above_lines, int left_lines, int is_top_sb_boundary, int ref_width, int ref_height, uint16_t *output_q3); |
387 | | void av2_mhccp_implicit_fetch_neighbor_chroma_avx2(const uint16_t *dst, int input_stride, TX_SIZE tx_size, int above_lines, int left_lines, int is_top_sb_boundary, int ref_width, int ref_height, uint16_t *output_q3); |
388 | | RTCD_EXTERN void (*av2_mhccp_implicit_fetch_neighbor_chroma)(const uint16_t *dst, int input_stride, TX_SIZE tx_size, int above_lines, int left_lines, int is_top_sb_boundary, int ref_width, int ref_height, uint16_t *output_q3); |
389 | | |
390 | | void av2_mhccp_implicit_fetch_neighbor_luma_420_c(const uint16_t *input, int input_stride, int above_lines, int left_lines, int is_top_sb_boundary, int ref_width, int ref_height, int sub_y, uint8_t cfl_ds_filter_index, int width, int height, uint16_t *output_q3, int output_stride); |
391 | | void av2_mhccp_implicit_fetch_neighbor_luma_420_avx2(const uint16_t *input, int input_stride, int above_lines, int left_lines, int is_top_sb_boundary, int ref_width, int ref_height, int sub_y, uint8_t cfl_ds_filter_index, int width, int height, uint16_t *output_q3, int output_stride); |
392 | | RTCD_EXTERN void (*av2_mhccp_implicit_fetch_neighbor_luma_420)(const uint16_t *input, int input_stride, int above_lines, int left_lines, int is_top_sb_boundary, int ref_width, int ref_height, int sub_y, uint8_t cfl_ds_filter_index, int width, int height, uint16_t *output_q3, int output_stride); |
393 | | |
394 | | void av2_opfl_mv_refinement_8x8_c(const int16_t *pdiff, int pstride, const int16_t *gx, const int16_t *gy, int gstride, int d0, int d1, int grad_prec_bits, int mv_prec_bits, int *vx0, int *vy0, int *vx1, int *vy1); |
395 | | void av2_opfl_mv_refinement_8x8_sse4_1(const int16_t *pdiff, int pstride, const int16_t *gx, const int16_t *gy, int gstride, int d0, int d1, int grad_prec_bits, int mv_prec_bits, int *vx0, int *vy0, int *vx1, int *vy1); |
396 | | RTCD_EXTERN void (*av2_opfl_mv_refinement_8x8)(const int16_t *pdiff, int pstride, const int16_t *gx, const int16_t *gy, int gstride, int d0, int d1, int grad_prec_bits, int mv_prec_bits, int *vx0, int *vy0, int *vx1, int *vy1); |
397 | | |
398 | | int av2_opfl_mv_refinement_nxn_c( const int16_t *pdiff, int pstride, const int16_t *gx, const int16_t *gy, int gstride, int bw, int bh, int n, int d0, int d1, int grad_prec_bits, int mv_prec_bits, int mi_x, int mi_y, int mi_cols, int mi_rows, int is_decode, int *vx0, int *vy0, int *vx1, int *vy1); |
399 | | int av2_opfl_mv_refinement_nxn_sse4_1( const int16_t *pdiff, int pstride, const int16_t *gx, const int16_t *gy, int gstride, int bw, int bh, int n, int d0, int d1, int grad_prec_bits, int mv_prec_bits, int mi_x, int mi_y, int mi_cols, int mi_rows, int is_decode, int *vx0, int *vy0, int *vx1, int *vy1); |
400 | | int av2_opfl_mv_refinement_nxn_avx2( const int16_t *pdiff, int pstride, const int16_t *gx, const int16_t *gy, int gstride, int bw, int bh, int n, int d0, int d1, int grad_prec_bits, int mv_prec_bits, int mi_x, int mi_y, int mi_cols, int mi_rows, int is_decode, int *vx0, int *vy0, int *vx1, int *vy1); |
401 | | RTCD_EXTERN int (*av2_opfl_mv_refinement_nxn)( const int16_t *pdiff, int pstride, const int16_t *gx, const int16_t *gy, int gstride, int bw, int bh, int n, int d0, int d1, int grad_prec_bits, int mv_prec_bits, int mi_x, int mi_y, int mi_cols, int mi_rows, int is_decode, int *vx0, int *vy0, int *vx1, int *vy1); |
402 | | |
403 | | void av2_resize_and_extend_frame_c(const YV12_BUFFER_CONFIG *src, YV12_BUFFER_CONFIG *dst, const InterpFilter filter, const int phase, const int num_planes); |
404 | | #define av2_resize_and_extend_frame av2_resize_and_extend_frame_c |
405 | | |
406 | | void calc_wienerns_ds_luma_420_c(const uint16_t *src, int src_stride, uint16_t *const dst, int dst_stride, int ds_type, int height_uv, int width_uv, int ss_x, int ss_y, int col_start); |
407 | | void calc_wienerns_ds_luma_420_avx2(const uint16_t *src, int src_stride, uint16_t *const dst, int dst_stride, int ds_type, int height_uv, int width_uv, int ss_x, int ss_y, int col_start); |
408 | | RTCD_EXTERN void (*calc_wienerns_ds_luma_420)(const uint16_t *src, int src_stride, uint16_t *const dst, int dst_stride, int ds_type, int height_uv, int width_uv, int ss_x, int ss_y, int col_start); |
409 | | |
410 | | void ccso_filter_block_hbd_wo_buf_c(const uint16_t *src_y, uint16_t *dst_yuv, const int x, const int y, const int pic_width, const int pic_height, int *src_cls, const int8_t *offset_buf, const int scaled_ext_stride, const int dst_stride, const int y_uv_hscale, const int y_uv_vscale, const int thr, const int neg_thr, const int *src_loc, const int max_val, const int blk_size_x, const int blk_size_y, const bool isSingleBand, const uint8_t shift_bits, const int edge_clf, const uint8_t ccso_bo_only); |
411 | | void ccso_filter_block_hbd_wo_buf_avx2(const uint16_t *src_y, uint16_t *dst_yuv, const int x, const int y, const int pic_width, const int pic_height, int *src_cls, const int8_t *offset_buf, const int scaled_ext_stride, const int dst_stride, const int y_uv_hscale, const int y_uv_vscale, const int thr, const int neg_thr, const int *src_loc, const int max_val, const int blk_size_x, const int blk_size_y, const bool isSingleBand, const uint8_t shift_bits, const int edge_clf, const uint8_t ccso_bo_only); |
412 | | RTCD_EXTERN void (*ccso_filter_block_hbd_wo_buf)(const uint16_t *src_y, uint16_t *dst_yuv, const int x, const int y, const int pic_width, const int pic_height, int *src_cls, const int8_t *offset_buf, const int scaled_ext_stride, const int dst_stride, const int y_uv_hscale, const int y_uv_vscale, const int thr, const int neg_thr, const int *src_loc, const int max_val, const int blk_size_x, const int blk_size_y, const bool isSingleBand, const uint8_t shift_bits, const int edge_clf, const uint8_t ccso_bo_only); |
413 | | |
414 | | void ccso_filter_block_hbd_wo_buf_bo_only_c(const uint16_t *src_y, uint16_t *dts_yuv, const int x, const int y, const int pic_width, const int pic_height, const int8_t *offset_buf, const int src_y_stride, const int dst_stride, const int y_uv_hscale, const int y_uv_vscale, const int max_val, const int blk_size_x, const int blk_size_y, const bool isSingleBand, const uint8_t shift_bits); |
415 | | void ccso_filter_block_hbd_wo_buf_bo_only_avx2(const uint16_t *src_y, uint16_t *dts_yuv, const int x, const int y, const int pic_width, const int pic_height, const int8_t *offset_buf, const int src_y_stride, const int dst_stride, const int y_uv_hscale, const int y_uv_vscale, const int max_val, const int blk_size_x, const int blk_size_y, const bool isSingleBand, const uint8_t shift_bits); |
416 | | RTCD_EXTERN void (*ccso_filter_block_hbd_wo_buf_bo_only)(const uint16_t *src_y, uint16_t *dts_yuv, const int x, const int y, const int pic_width, const int pic_height, const int8_t *offset_buf, const int src_y_stride, const int dst_stride, const int y_uv_hscale, const int y_uv_vscale, const int max_val, const int blk_size_x, const int blk_size_y, const bool isSingleBand, const uint8_t shift_bits); |
417 | | |
418 | | void fill_directional_feature_buffers_highbd_c(int *feature_sum_buffers[], int16_t *feature_line_buffers[], int row, int buffer_row, const uint16_t *dgd, int dgd_stride, int width, int feature_lead, int feature_lag); |
419 | | void fill_directional_feature_buffers_highbd_avx2(int *feature_sum_buffers[], int16_t *feature_line_buffers[], int row, int buffer_row, const uint16_t *dgd, int dgd_stride, int width, int feature_lead, int feature_lag); |
420 | | RTCD_EXTERN void (*fill_directional_feature_buffers_highbd)(int *feature_sum_buffers[], int16_t *feature_line_buffers[], int row, int buffer_row, const uint16_t *dgd, int dgd_stride, int width, int feature_lead, int feature_lag); |
421 | | |
422 | | void gdf_compensation_unit_c(uint16_t* rec_pnt, const int rec_stride, int16_t* err_pnt, const int err_stride, const int err_shift, const int scale, const int pxl_max, const int blk_height, const int blk_width); |
423 | | void gdf_compensation_unit_avx2(uint16_t* rec_pnt, const int rec_stride, int16_t* err_pnt, const int err_stride, const int err_shift, const int scale, const int pxl_max, const int blk_height, const int blk_width); |
424 | | RTCD_EXTERN void (*gdf_compensation_unit)(uint16_t* rec_pnt, const int rec_stride, int16_t* err_pnt, const int err_stride, const int err_shift, const int scale, const int pxl_max, const int blk_height, const int blk_width); |
425 | | |
426 | | void gdf_inference_unit_c(const int i_min, const int i_max, const int j_min, const int j_max, const int qp_idx, const uint16_t* rec_pnt, const int rec_stride, uint16_t *const *gdf_lap_pnt, const int gdf_lap_stride, const uint32_t *gdf_cls_pnt, const int gdf_cls_stride, int16_t* err_pnt, const int err_stride, const int pxl_shift, const int ref_dst_idx); |
427 | | void gdf_inference_unit_avx2(const int i_min, const int i_max, const int j_min, const int j_max, const int qp_idx, const uint16_t* rec_pnt, const int rec_stride, uint16_t *const *gdf_lap_pnt, const int gdf_lap_stride, const uint32_t *gdf_cls_pnt, const int gdf_cls_stride, int16_t* err_pnt, const int err_stride, const int pxl_shift, const int ref_dst_idx); |
428 | | RTCD_EXTERN void (*gdf_inference_unit)(const int i_min, const int i_max, const int j_min, const int j_max, const int qp_idx, const uint16_t* rec_pnt, const int rec_stride, uint16_t *const *gdf_lap_pnt, const int gdf_lap_stride, const uint32_t *gdf_cls_pnt, const int gdf_cls_stride, int16_t* err_pnt, const int err_stride, const int pxl_shift, const int ref_dst_idx); |
429 | | |
430 | | void gdf_set_lap_and_cls_unit_c(const int i_min, const int i_max, const int j_min, const int j_max, const uint16_t *rec_pnt, const int rec_stride, const int bit_depth, uint16_t *const *gdf_lap_y, const int gdf_lap_y_stride, uint32_t *gdf_cls_y, const int gdf_cls_y_stride); |
431 | | void gdf_set_lap_and_cls_unit_avx2(const int i_min, const int i_max, const int j_min, const int j_max, const uint16_t *rec_pnt, const int rec_stride, const int bit_depth, uint16_t *const *gdf_lap_y, const int gdf_lap_y_stride, uint32_t *gdf_cls_y, const int gdf_cls_y_stride); |
432 | | RTCD_EXTERN void (*gdf_set_lap_and_cls_unit)(const int i_min, const int i_max, const int j_min, const int j_max, const uint16_t *rec_pnt, const int rec_stride, const int bit_depth, uint16_t *const *gdf_lap_y, const int gdf_lap_y_stride, uint32_t *gdf_cls_y, const int gdf_cls_y_stride); |
433 | | |
434 | | void inv_stxfm_c(tran_low_t *src, tran_low_t *dst, const PREDICTION_MODE mode, const uint8_t stx_idx, const int size, const int bd); |
435 | | void inv_stxfm_sse4_1(tran_low_t *src, tran_low_t *dst, const PREDICTION_MODE mode, const uint8_t stx_idx, const int size, const int bd); |
436 | | void inv_stxfm_avx2(tran_low_t *src, tran_low_t *dst, const PREDICTION_MODE mode, const uint8_t stx_idx, const int size, const int bd); |
437 | | RTCD_EXTERN void (*inv_stxfm)(tran_low_t *src, tran_low_t *dst, const PREDICTION_MODE mode, const uint8_t stx_idx, const int size, const int bd); |
438 | | |
439 | | void inv_txfm_c(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
440 | | void inv_txfm_avx2(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
441 | | RTCD_EXTERN void (*inv_txfm)(const tran_low_t *input, uint16_t *dest, int stride, const TxfmParam *txfm_param); |
442 | | |
443 | | void mhccp_predict_hv_hbd_c(const uint16_t *input, uint16_t *dst, bool have_top, bool have_left, int dst_stride, int *alpha_q3, int bit_depth, int width, int height, int dir); |
444 | | void mhccp_predict_hv_hbd_avx2(const uint16_t *input, uint16_t *dst, bool have_top, bool have_left, int dst_stride, int *alpha_q3, int bit_depth, int width, int height, int dir); |
445 | | RTCD_EXTERN void (*mhccp_predict_hv_hbd)(const uint16_t *input, uint16_t *dst, bool have_top, bool have_left, int dst_stride, int *alpha_q3, int bit_depth, int width, int height, int dir); |
446 | | |
447 | | void refinemv_highbd_pad_mc_border_c(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int x0, int y0, int b_w, int b_h, const ReferenceArea *ref_area); |
448 | | void refinemv_highbd_pad_mc_border_avx2(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int x0, int y0, int b_w, int b_h, const ReferenceArea *ref_area); |
449 | | RTCD_EXTERN void (*refinemv_highbd_pad_mc_border)(const uint16_t *src, int src_stride, uint16_t *dst, int dst_stride, int x0, int y0, int b_w, int b_h, const ReferenceArea *ref_area); |
450 | | |
451 | | void resample_output_c(uint16_t *dst, int dst_stride, const uint16_t *above_row, const uint16_t *left_col, uint16_t *ml_output, int bw_log2, int bh_log2, int transpose); |
452 | | void resample_output_avx2(uint16_t *dst, int dst_stride, const uint16_t *above_row, const uint16_t *left_col, uint16_t *ml_output, int bw_log2, int bh_log2, int transpose); |
453 | | RTCD_EXTERN void (*resample_output)(uint16_t *dst, int dst_stride, const uint16_t *above_row, const uint16_t *left_col, uint16_t *ml_output, int bw_log2, int bh_log2, int transpose); |
454 | | |
455 | | void av2_rtcd(void); |
456 | | |
457 | | #ifdef RTCD_C |
458 | | #include "avm_ports/x86.h" |
459 | | static void setup_rtcd_internal(void) |
460 | 1 | { |
461 | 1 | int flags = x86_simd_caps(); |
462 | | |
463 | 1 | (void)flags; |
464 | | |
465 | 1 | av2_avg_pooling_pdiff_gradients = av2_avg_pooling_pdiff_gradients_c; |
466 | 1 | if (flags & HAS_AVX2) av2_avg_pooling_pdiff_gradients = av2_avg_pooling_pdiff_gradients_avx2; |
467 | 1 | av2_bicubic_grad_interpolation_highbd = av2_bicubic_grad_interpolation_highbd_c; |
468 | 1 | if (flags & HAS_SSE4_1) av2_bicubic_grad_interpolation_highbd = av2_bicubic_grad_interpolation_highbd_sse4_1; |
469 | 1 | if (flags & HAS_AVX2) av2_bicubic_grad_interpolation_highbd = av2_bicubic_grad_interpolation_highbd_avx2; |
470 | 1 | av2_build_compound_diffwtd_mask_d16 = av2_build_compound_diffwtd_mask_d16_c; |
471 | 1 | if (flags & HAS_SSE4_1) av2_build_compound_diffwtd_mask_d16 = av2_build_compound_diffwtd_mask_d16_sse4_1; |
472 | 1 | if (flags & HAS_AVX2) av2_build_compound_diffwtd_mask_d16 = av2_build_compound_diffwtd_mask_d16_avx2; |
473 | 1 | av2_build_compound_diffwtd_mask_highbd = av2_build_compound_diffwtd_mask_highbd_c; |
474 | 1 | if (flags & HAS_SSSE3) av2_build_compound_diffwtd_mask_highbd = av2_build_compound_diffwtd_mask_highbd_ssse3; |
475 | 1 | if (flags & HAS_AVX2) av2_build_compound_diffwtd_mask_highbd = av2_build_compound_diffwtd_mask_highbd_avx2; |
476 | 1 | av2_cdef_copy_rect8_16bit_to_16bit = av2_cdef_copy_rect8_16bit_to_16bit_sse2; |
477 | 1 | if (flags & HAS_SSSE3) av2_cdef_copy_rect8_16bit_to_16bit = av2_cdef_copy_rect8_16bit_to_16bit_ssse3; |
478 | 1 | if (flags & HAS_SSE4_1) av2_cdef_copy_rect8_16bit_to_16bit = av2_cdef_copy_rect8_16bit_to_16bit_sse4_1; |
479 | 1 | if (flags & HAS_AVX2) av2_cdef_copy_rect8_16bit_to_16bit = av2_cdef_copy_rect8_16bit_to_16bit_avx2; |
480 | 1 | av2_cdef_filter_16_0 = av2_cdef_filter_16_0_sse2; |
481 | 1 | if (flags & HAS_SSSE3) av2_cdef_filter_16_0 = av2_cdef_filter_16_0_ssse3; |
482 | 1 | if (flags & HAS_SSE4_1) av2_cdef_filter_16_0 = av2_cdef_filter_16_0_sse4_1; |
483 | 1 | if (flags & HAS_AVX2) av2_cdef_filter_16_0 = av2_cdef_filter_16_0_avx2; |
484 | 1 | av2_cdef_filter_16_1 = av2_cdef_filter_16_1_sse2; |
485 | 1 | if (flags & HAS_SSSE3) av2_cdef_filter_16_1 = av2_cdef_filter_16_1_ssse3; |
486 | 1 | if (flags & HAS_SSE4_1) av2_cdef_filter_16_1 = av2_cdef_filter_16_1_sse4_1; |
487 | 1 | if (flags & HAS_AVX2) av2_cdef_filter_16_1 = av2_cdef_filter_16_1_avx2; |
488 | 1 | av2_cdef_filter_16_2 = av2_cdef_filter_16_2_sse2; |
489 | 1 | if (flags & HAS_SSSE3) av2_cdef_filter_16_2 = av2_cdef_filter_16_2_ssse3; |
490 | 1 | if (flags & HAS_SSE4_1) av2_cdef_filter_16_2 = av2_cdef_filter_16_2_sse4_1; |
491 | 1 | if (flags & HAS_AVX2) av2_cdef_filter_16_2 = av2_cdef_filter_16_2_avx2; |
492 | 1 | av2_cdef_filter_16_3 = av2_cdef_filter_16_3_sse2; |
493 | 1 | if (flags & HAS_SSSE3) av2_cdef_filter_16_3 = av2_cdef_filter_16_3_ssse3; |
494 | 1 | if (flags & HAS_SSE4_1) av2_cdef_filter_16_3 = av2_cdef_filter_16_3_sse4_1; |
495 | 1 | if (flags & HAS_AVX2) av2_cdef_filter_16_3 = av2_cdef_filter_16_3_avx2; |
496 | 1 | av2_cdef_find_dir = av2_cdef_find_dir_sse2; |
497 | 1 | if (flags & HAS_SSSE3) av2_cdef_find_dir = av2_cdef_find_dir_ssse3; |
498 | 1 | if (flags & HAS_SSE4_1) av2_cdef_find_dir = av2_cdef_find_dir_sse4_1; |
499 | 1 | if (flags & HAS_AVX2) av2_cdef_find_dir = av2_cdef_find_dir_avx2; |
500 | 1 | av2_cdef_find_dir_dual = av2_cdef_find_dir_dual_sse2; |
501 | 1 | if (flags & HAS_SSSE3) av2_cdef_find_dir_dual = av2_cdef_find_dir_dual_ssse3; |
502 | 1 | if (flags & HAS_SSE4_1) av2_cdef_find_dir_dual = av2_cdef_find_dir_dual_sse4_1; |
503 | 1 | if (flags & HAS_AVX2) av2_cdef_find_dir_dual = av2_cdef_find_dir_dual_avx2; |
504 | 1 | av2_cfl_get_luma_subsampling_420_hbd = av2_cfl_get_luma_subsampling_420_hbd_c; |
505 | 1 | if (flags & HAS_SSSE3) av2_cfl_get_luma_subsampling_420_hbd = av2_cfl_get_luma_subsampling_420_hbd_ssse3; |
506 | 1 | if (flags & HAS_AVX2) av2_cfl_get_luma_subsampling_420_hbd = av2_cfl_get_luma_subsampling_420_hbd_avx2; |
507 | 1 | av2_cfl_get_luma_subsampling_420_hbd_121 = av2_cfl_get_luma_subsampling_420_hbd_121_c; |
508 | 1 | if (flags & HAS_AVX2) av2_cfl_get_luma_subsampling_420_hbd_121 = av2_cfl_get_luma_subsampling_420_hbd_121_avx2; |
509 | 1 | av2_cfl_get_luma_subsampling_420_hbd_colocated = av2_cfl_get_luma_subsampling_420_hbd_colocated_c; |
510 | 1 | if (flags & HAS_AVX2) av2_cfl_get_luma_subsampling_420_hbd_colocated = av2_cfl_get_luma_subsampling_420_hbd_colocated_avx2; |
511 | 1 | av2_cfl_get_luma_subsampling_422_hbd = av2_cfl_get_luma_subsampling_422_hbd_c; |
512 | 1 | if (flags & HAS_SSSE3) av2_cfl_get_luma_subsampling_422_hbd = av2_cfl_get_luma_subsampling_422_hbd_ssse3; |
513 | 1 | if (flags & HAS_AVX2) av2_cfl_get_luma_subsampling_422_hbd = av2_cfl_get_luma_subsampling_422_hbd_avx2; |
514 | 1 | av2_cfl_get_luma_subsampling_444_hbd = av2_cfl_get_luma_subsampling_444_hbd_c; |
515 | 1 | if (flags & HAS_SSSE3) av2_cfl_get_luma_subsampling_444_hbd = av2_cfl_get_luma_subsampling_444_hbd_ssse3; |
516 | 1 | if (flags & HAS_AVX2) av2_cfl_get_luma_subsampling_444_hbd = av2_cfl_get_luma_subsampling_444_hbd_avx2; |
517 | 1 | av2_cfl_get_predict_hbd_fn = av2_cfl_get_predict_hbd_fn_c; |
518 | 1 | if (flags & HAS_AVX2) av2_cfl_get_predict_hbd_fn = av2_cfl_get_predict_hbd_fn_avx2; |
519 | 1 | av2_cfl_get_subtract_average_fn = av2_cfl_get_subtract_average_fn_sse2; |
520 | 1 | if (flags & HAS_AVX2) av2_cfl_get_subtract_average_fn = av2_cfl_get_subtract_average_fn_avx2; |
521 | 1 | av2_convolve_mixedsymmetric_highbd = av2_convolve_mixedsymmetric_highbd_c; |
522 | 1 | if (flags & HAS_AVX2) av2_convolve_mixedsymmetric_highbd = av2_convolve_mixedsymmetric_highbd_avx2; |
523 | 1 | av2_convolve_symmetric_blk8x8_highbd = av2_convolve_symmetric_blk8x8_highbd_c; |
524 | 1 | if (flags & HAS_AVX2) av2_convolve_symmetric_blk8x8_highbd = av2_convolve_symmetric_blk8x8_highbd_avx2; |
525 | 1 | av2_convolve_symmetric_dual_highbd = av2_convolve_symmetric_dual_highbd_c; |
526 | 1 | if (flags & HAS_AVX2) av2_convolve_symmetric_dual_highbd = av2_convolve_symmetric_dual_highbd_avx2; |
527 | 1 | av2_convolve_symmetric_dual_subtract_center_highbd = av2_convolve_symmetric_dual_subtract_center_highbd_c; |
528 | 1 | if (flags & HAS_AVX2) av2_convolve_symmetric_dual_subtract_center_highbd = av2_convolve_symmetric_dual_subtract_center_highbd_avx2; |
529 | 1 | av2_convolve_symmetric_highbd = av2_convolve_symmetric_highbd_c; |
530 | 1 | if (flags & HAS_AVX2) av2_convolve_symmetric_highbd = av2_convolve_symmetric_highbd_avx2; |
531 | 1 | av2_convolve_symmetric_subtract_center_highbd = av2_convolve_symmetric_subtract_center_highbd_c; |
532 | 1 | if (flags & HAS_AVX2) av2_convolve_symmetric_subtract_center_highbd = av2_convolve_symmetric_subtract_center_highbd_avx2; |
533 | 1 | av2_copy_pred_array_highbd = av2_copy_pred_array_highbd_c; |
534 | 1 | if (flags & HAS_SSE4_1) av2_copy_pred_array_highbd = av2_copy_pred_array_highbd_sse4_1; |
535 | 1 | if (flags & HAS_AVX2) av2_copy_pred_array_highbd = av2_copy_pred_array_highbd_avx2; |
536 | 1 | av2_dip_matrix_multiplication = av2_dip_matrix_multiplication_c; |
537 | 1 | if (flags & HAS_AVX2) av2_dip_matrix_multiplication = av2_dip_matrix_multiplication_avx2; |
538 | 1 | av2_ext_highbd_warp_affine = av2_ext_highbd_warp_affine_c; |
539 | 1 | if (flags & HAS_SSE4_1) av2_ext_highbd_warp_affine = av2_ext_highbd_warp_affine_sse4_1; |
540 | 1 | av2_fill_directional_feature_accumulators = av2_fill_directional_feature_accumulators_c; |
541 | 1 | if (flags & HAS_AVX2) av2_fill_directional_feature_accumulators = av2_fill_directional_feature_accumulators_avx2; |
542 | 1 | av2_fill_tskip_feature_accumulator = av2_fill_tskip_feature_accumulator_c; |
543 | 1 | if (flags & HAS_AVX2) av2_fill_tskip_feature_accumulator = av2_fill_tskip_feature_accumulator_avx2; |
544 | 1 | av2_fill_tskip_sum_buffer = av2_fill_tskip_sum_buffer_c; |
545 | 1 | if (flags & HAS_AVX2) av2_fill_tskip_sum_buffer = av2_fill_tskip_sum_buffer_avx2; |
546 | 1 | av2_filter_intra_edge_high = av2_filter_intra_edge_high_c; |
547 | 1 | if (flags & HAS_SSE4_1) av2_filter_intra_edge_high = av2_filter_intra_edge_high_sse4_1; |
548 | 1 | av2_highbd_convolve_2d_scale = av2_highbd_convolve_2d_scale_c; |
549 | 1 | if (flags & HAS_SSE4_1) av2_highbd_convolve_2d_scale = av2_highbd_convolve_2d_scale_sse4_1; |
550 | 1 | av2_highbd_convolve_2d_sr = av2_highbd_convolve_2d_sr_c; |
551 | 1 | if (flags & HAS_SSSE3) av2_highbd_convolve_2d_sr = av2_highbd_convolve_2d_sr_ssse3; |
552 | 1 | if (flags & HAS_AVX2) av2_highbd_convolve_2d_sr = av2_highbd_convolve_2d_sr_avx2; |
553 | 1 | av2_highbd_convolve_horiz_rs = av2_highbd_convolve_horiz_rs_c; |
554 | 1 | if (flags & HAS_SSE4_1) av2_highbd_convolve_horiz_rs = av2_highbd_convolve_horiz_rs_sse4_1; |
555 | 1 | av2_highbd_convolve_x_sr = av2_highbd_convolve_x_sr_c; |
556 | 1 | if (flags & HAS_SSSE3) av2_highbd_convolve_x_sr = av2_highbd_convolve_x_sr_ssse3; |
557 | 1 | if (flags & HAS_AVX2) av2_highbd_convolve_x_sr = av2_highbd_convolve_x_sr_avx2; |
558 | 1 | av2_highbd_convolve_y_sr = av2_highbd_convolve_y_sr_c; |
559 | 1 | if (flags & HAS_SSSE3) av2_highbd_convolve_y_sr = av2_highbd_convolve_y_sr_ssse3; |
560 | 1 | if (flags & HAS_AVX2) av2_highbd_convolve_y_sr = av2_highbd_convolve_y_sr_avx2; |
561 | 1 | av2_highbd_dist_wtd_convolve_2d = av2_highbd_dist_wtd_convolve_2d_c; |
562 | 1 | if (flags & HAS_SSE4_1) av2_highbd_dist_wtd_convolve_2d = av2_highbd_dist_wtd_convolve_2d_sse4_1; |
563 | 1 | if (flags & HAS_AVX2) av2_highbd_dist_wtd_convolve_2d = av2_highbd_dist_wtd_convolve_2d_avx2; |
564 | 1 | av2_highbd_dist_wtd_convolve_2d_copy = av2_highbd_dist_wtd_convolve_2d_copy_c; |
565 | 1 | if (flags & HAS_SSE4_1) av2_highbd_dist_wtd_convolve_2d_copy = av2_highbd_dist_wtd_convolve_2d_copy_sse4_1; |
566 | 1 | if (flags & HAS_AVX2) av2_highbd_dist_wtd_convolve_2d_copy = av2_highbd_dist_wtd_convolve_2d_copy_avx2; |
567 | 1 | av2_highbd_dist_wtd_convolve_x = av2_highbd_dist_wtd_convolve_x_c; |
568 | 1 | if (flags & HAS_SSE4_1) av2_highbd_dist_wtd_convolve_x = av2_highbd_dist_wtd_convolve_x_sse4_1; |
569 | 1 | if (flags & HAS_AVX2) av2_highbd_dist_wtd_convolve_x = av2_highbd_dist_wtd_convolve_x_avx2; |
570 | 1 | av2_highbd_dist_wtd_convolve_y = av2_highbd_dist_wtd_convolve_y_c; |
571 | 1 | if (flags & HAS_SSE4_1) av2_highbd_dist_wtd_convolve_y = av2_highbd_dist_wtd_convolve_y_sse4_1; |
572 | 1 | if (flags & HAS_AVX2) av2_highbd_dist_wtd_convolve_y = av2_highbd_dist_wtd_convolve_y_avx2; |
573 | 1 | av2_highbd_dr_prediction_z1 = av2_highbd_dr_prediction_z1_c; |
574 | 1 | if (flags & HAS_AVX2) av2_highbd_dr_prediction_z1 = av2_highbd_dr_prediction_z1_avx2; |
575 | 1 | av2_highbd_dr_prediction_z1_idif = av2_highbd_dr_prediction_z1_idif_c; |
576 | 1 | if (flags & HAS_AVX2) av2_highbd_dr_prediction_z1_idif = av2_highbd_dr_prediction_z1_idif_avx2; |
577 | 1 | av2_highbd_dr_prediction_z2 = av2_highbd_dr_prediction_z2_c; |
578 | 1 | if (flags & HAS_AVX2) av2_highbd_dr_prediction_z2 = av2_highbd_dr_prediction_z2_avx2; |
579 | 1 | av2_highbd_dr_prediction_z2_idif = av2_highbd_dr_prediction_z2_idif_c; |
580 | 1 | if (flags & HAS_AVX2) av2_highbd_dr_prediction_z2_idif = av2_highbd_dr_prediction_z2_idif_avx2; |
581 | 1 | av2_highbd_dr_prediction_z3 = av2_highbd_dr_prediction_z3_c; |
582 | 1 | if (flags & HAS_AVX2) av2_highbd_dr_prediction_z3 = av2_highbd_dr_prediction_z3_avx2; |
583 | 1 | av2_highbd_dr_prediction_z3_idif = av2_highbd_dr_prediction_z3_idif_c; |
584 | 1 | if (flags & HAS_AVX2) av2_highbd_dr_prediction_z3_idif = av2_highbd_dr_prediction_z3_idif_avx2; |
585 | 1 | av2_highbd_inv_txfm_add = av2_highbd_inv_txfm_add_c; |
586 | 1 | if (flags & HAS_SSE4_1) av2_highbd_inv_txfm_add = av2_highbd_inv_txfm_add_sse4_1; |
587 | 1 | if (flags & HAS_AVX2) av2_highbd_inv_txfm_add = av2_highbd_inv_txfm_add_avx2; |
588 | 1 | av2_highbd_warp_affine = av2_highbd_warp_affine_c; |
589 | 1 | if (flags & HAS_SSE4_1) av2_highbd_warp_affine = av2_highbd_warp_affine_sse4_1; |
590 | 1 | if (flags & HAS_AVX2) av2_highbd_warp_affine = av2_highbd_warp_affine_avx2; |
591 | 1 | av2_highbd_wiener_convolve_add_src = av2_highbd_wiener_convolve_add_src_c; |
592 | 1 | if (flags & HAS_SSSE3) av2_highbd_wiener_convolve_add_src = av2_highbd_wiener_convolve_add_src_ssse3; |
593 | 1 | if (flags & HAS_AVX2) av2_highbd_wiener_convolve_add_src = av2_highbd_wiener_convolve_add_src_avx2; |
594 | 1 | av2_lossless_inv_idtx_add = av2_lossless_inv_idtx_add_c; |
595 | 1 | if (flags & HAS_AVX2) av2_lossless_inv_idtx_add = av2_lossless_inv_idtx_add_avx2; |
596 | 1 | av2_make_bawp_block = av2_make_bawp_block_c; |
597 | 1 | if (flags & HAS_AVX2) av2_make_bawp_block = av2_make_bawp_block_avx2; |
598 | 1 | av2_mhccp_derive_multi_param_hv = av2_mhccp_derive_multi_param_hv_c; |
599 | 1 | if (flags & HAS_AVX2) av2_mhccp_derive_multi_param_hv = av2_mhccp_derive_multi_param_hv_avx2; |
600 | 1 | av2_mhccp_implicit_fetch_neighbor_chroma = av2_mhccp_implicit_fetch_neighbor_chroma_c; |
601 | 1 | if (flags & HAS_AVX2) av2_mhccp_implicit_fetch_neighbor_chroma = av2_mhccp_implicit_fetch_neighbor_chroma_avx2; |
602 | 1 | av2_mhccp_implicit_fetch_neighbor_luma_420 = av2_mhccp_implicit_fetch_neighbor_luma_420_c; |
603 | 1 | if (flags & HAS_AVX2) av2_mhccp_implicit_fetch_neighbor_luma_420 = av2_mhccp_implicit_fetch_neighbor_luma_420_avx2; |
604 | 1 | av2_opfl_mv_refinement_8x8 = av2_opfl_mv_refinement_8x8_c; |
605 | 1 | if (flags & HAS_SSE4_1) av2_opfl_mv_refinement_8x8 = av2_opfl_mv_refinement_8x8_sse4_1; |
606 | 1 | av2_opfl_mv_refinement_nxn = av2_opfl_mv_refinement_nxn_c; |
607 | 1 | if (flags & HAS_SSE4_1) av2_opfl_mv_refinement_nxn = av2_opfl_mv_refinement_nxn_sse4_1; |
608 | 1 | if (flags & HAS_AVX2) av2_opfl_mv_refinement_nxn = av2_opfl_mv_refinement_nxn_avx2; |
609 | 1 | calc_wienerns_ds_luma_420 = calc_wienerns_ds_luma_420_c; |
610 | 1 | if (flags & HAS_AVX2) calc_wienerns_ds_luma_420 = calc_wienerns_ds_luma_420_avx2; |
611 | 1 | ccso_filter_block_hbd_wo_buf = ccso_filter_block_hbd_wo_buf_c; |
612 | 1 | if (flags & HAS_AVX2) ccso_filter_block_hbd_wo_buf = ccso_filter_block_hbd_wo_buf_avx2; |
613 | 1 | ccso_filter_block_hbd_wo_buf_bo_only = ccso_filter_block_hbd_wo_buf_bo_only_c; |
614 | 1 | if (flags & HAS_AVX2) ccso_filter_block_hbd_wo_buf_bo_only = ccso_filter_block_hbd_wo_buf_bo_only_avx2; |
615 | 1 | fill_directional_feature_buffers_highbd = fill_directional_feature_buffers_highbd_c; |
616 | 1 | if (flags & HAS_AVX2) fill_directional_feature_buffers_highbd = fill_directional_feature_buffers_highbd_avx2; |
617 | 1 | gdf_compensation_unit = gdf_compensation_unit_c; |
618 | 1 | if (flags & HAS_AVX2) gdf_compensation_unit = gdf_compensation_unit_avx2; |
619 | 1 | gdf_inference_unit = gdf_inference_unit_c; |
620 | 1 | if (flags & HAS_AVX2) gdf_inference_unit = gdf_inference_unit_avx2; |
621 | 1 | gdf_set_lap_and_cls_unit = gdf_set_lap_and_cls_unit_c; |
622 | 1 | if (flags & HAS_AVX2) gdf_set_lap_and_cls_unit = gdf_set_lap_and_cls_unit_avx2; |
623 | 1 | inv_stxfm = inv_stxfm_c; |
624 | 1 | if (flags & HAS_SSE4_1) inv_stxfm = inv_stxfm_sse4_1; |
625 | 1 | if (flags & HAS_AVX2) inv_stxfm = inv_stxfm_avx2; |
626 | 1 | inv_txfm = inv_txfm_c; |
627 | 1 | if (flags & HAS_AVX2) inv_txfm = inv_txfm_avx2; |
628 | 1 | mhccp_predict_hv_hbd = mhccp_predict_hv_hbd_c; |
629 | 1 | if (flags & HAS_AVX2) mhccp_predict_hv_hbd = mhccp_predict_hv_hbd_avx2; |
630 | 1 | refinemv_highbd_pad_mc_border = refinemv_highbd_pad_mc_border_c; |
631 | 1 | if (flags & HAS_AVX2) refinemv_highbd_pad_mc_border = refinemv_highbd_pad_mc_border_avx2; |
632 | 1 | resample_output = resample_output_c; |
633 | 1 | if (flags & HAS_AVX2) resample_output = resample_output_avx2; |
634 | 1 | } |
635 | | #endif |
636 | | |
637 | | #ifdef __cplusplus |
638 | | } // extern "C" |
639 | | #endif |
640 | | |
641 | | #endif |