Coverage Report

Created: 2026-09-14 06:49

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/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