@@ -113,6 +113,37 @@ void (name)(pixel *dst, ptrdiff_t dst_stride, \
113
113
int dst_w, int h, int src_w, int dx, int mx HIGHBD_DECL_SUFFIX)
114
114
typedef decl_resize_fn (* resize_fn );
115
115
116
+ #define decl_8tap_gen (decl_name , fn_name , opt ) \
117
+ decl_##decl_name##_fn(BF(dav1d_##fn_name##_8tap_regular, opt)); \
118
+ decl_##decl_name##_fn(BF(dav1d_##fn_name##_8tap_regular_smooth, opt)); \
119
+ decl_##decl_name##_fn(BF(dav1d_##fn_name##_8tap_regular_sharp, opt)); \
120
+ decl_##decl_name##_fn(BF(dav1d_##fn_name##_8tap_smooth_regular, opt)); \
121
+ decl_##decl_name##_fn(BF(dav1d_##fn_name##_8tap_smooth, opt)); \
122
+ decl_##decl_name##_fn(BF(dav1d_##fn_name##_8tap_smooth_sharp, opt)); \
123
+ decl_##decl_name##_fn(BF(dav1d_##fn_name##_8tap_sharp_regular, opt)); \
124
+ decl_##decl_name##_fn(BF(dav1d_##fn_name##_8tap_sharp_smooth, opt)); \
125
+ decl_##decl_name##_fn(BF(dav1d_##fn_name##_8tap_sharp, opt))
126
+
127
+ #define decl_8tap_fns (opt ) \
128
+ decl_8tap_gen(mc, put, opt); \
129
+ decl_8tap_gen(mct, prep, opt)
130
+
131
+ #define init_8tap_gen (name , opt ) \
132
+ init_##name##_fn(FILTER_2D_8TAP_REGULAR, 8tap_regular, opt); \
133
+ init_##name##_fn(FILTER_2D_8TAP_REGULAR_SMOOTH, 8tap_regular_smooth, opt); \
134
+ init_##name##_fn(FILTER_2D_8TAP_REGULAR_SHARP, 8tap_regular_sharp, opt); \
135
+ init_##name##_fn(FILTER_2D_8TAP_SMOOTH_REGULAR, 8tap_smooth_regular, opt); \
136
+ init_##name##_fn(FILTER_2D_8TAP_SMOOTH, 8tap_smooth, opt); \
137
+ init_##name##_fn(FILTER_2D_8TAP_SMOOTH_SHARP, 8tap_smooth_sharp, opt); \
138
+ init_##name##_fn(FILTER_2D_8TAP_SHARP_REGULAR, 8tap_sharp_regular, opt); \
139
+ init_##name##_fn(FILTER_2D_8TAP_SHARP_SMOOTH, 8tap_sharp_smooth, opt); \
140
+ init_##name##_fn(FILTER_2D_8TAP_SHARP, 8tap_sharp, opt)
141
+
142
+ #define init_8tap_fns (opt ) \
143
+ init_8tap_gen(mc, opt); \
144
+ init_8tap_gen(mct, opt)
145
+
146
+
116
147
typedef struct Dav1dMCDSPContext {
117
148
mc_fn mc [N_2D_FILTERS ];
118
149
mc_scaled_fn mc_scaled [N_2D_FILTERS ];
0 commit comments