Skip to main content

singe_npp/image/
statistics_template_norm_level_full.rs

1use super::*;
2
3impl_template_match_norm_level_full_scaled!(
4    cross_correlation_full_norm_level_u8_c1_buffer_size,
5    cross_correlation_full_norm_level_u8_c1,
6    u8,
7    C1,
8    nppiFullNormLevelGetBufferHostSize_8u_C1RSfs_Ctx,
9    nppiCrossCorrFull_NormLevel_8u_C1RSfs_Ctx
10);
11impl_template_match_norm_level_full_scaled!(
12    cross_correlation_full_norm_level_u8_c3_buffer_size,
13    cross_correlation_full_norm_level_u8_c3,
14    u8,
15    C3,
16    nppiFullNormLevelGetBufferHostSize_8u_C3RSfs_Ctx,
17    nppiCrossCorrFull_NormLevel_8u_C3RSfs_Ctx
18);
19impl_template_match_norm_level_full_scaled!(
20    cross_correlation_full_norm_level_u8_c4_buffer_size,
21    cross_correlation_full_norm_level_u8_c4,
22    u8,
23    C4,
24    nppiFullNormLevelGetBufferHostSize_8u_C4RSfs_Ctx,
25    nppiCrossCorrFull_NormLevel_8u_C4RSfs_Ctx
26);
27impl_template_match_norm_level_full_scaled!(
28    cross_correlation_full_norm_level_u8_ac4_buffer_size,
29    cross_correlation_full_norm_level_u8_ac4,
30    u8,
31    AC4,
32    nppiFullNormLevelGetBufferHostSize_8u_AC4RSfs_Ctx,
33    nppiCrossCorrFull_NormLevel_8u_AC4RSfs_Ctx
34);
35impl_template_match_norm_level_full!(
36    cross_correlation_full_norm_level_f32_c1_buffer_size,
37    cross_correlation_full_norm_level_f32_c1,
38    f32,
39    f32,
40    C1,
41    nppiFullNormLevelGetBufferHostSize_32f_C1R_Ctx,
42    nppiCrossCorrFull_NormLevel_32f_C1R_Ctx
43);
44impl_template_match_norm_level_full!(
45    cross_correlation_full_norm_level_f32_c3_buffer_size,
46    cross_correlation_full_norm_level_f32_c3,
47    f32,
48    f32,
49    C3,
50    nppiFullNormLevelGetBufferHostSize_32f_C3R_Ctx,
51    nppiCrossCorrFull_NormLevel_32f_C3R_Ctx
52);
53impl_template_match_norm_level_full!(
54    cross_correlation_full_norm_level_f32_c4_buffer_size,
55    cross_correlation_full_norm_level_f32_c4,
56    f32,
57    f32,
58    C4,
59    nppiFullNormLevelGetBufferHostSize_32f_C4R_Ctx,
60    nppiCrossCorrFull_NormLevel_32f_C4R_Ctx
61);
62impl_template_match_norm_level_full!(
63    cross_correlation_full_norm_level_f32_ac4_buffer_size,
64    cross_correlation_full_norm_level_f32_ac4,
65    f32,
66    f32,
67    AC4,
68    nppiFullNormLevelGetBufferHostSize_32f_AC4R_Ctx,
69    nppiCrossCorrFull_NormLevel_32f_AC4R_Ctx
70);
71impl_template_match_norm_level_full!(
72    cross_correlation_full_norm_level_f64_c1_buffer_size,
73    cross_correlation_full_norm_level_f64_c1,
74    f64,
75    f64,
76    C1,
77    nppiFullNormLevelGetBufferHostSize_64f_C1R_Ctx,
78    nppiCrossCorrFull_NormLevel_64f_C1R_Ctx
79);
80impl_template_match_norm_level_full!(
81    cross_correlation_full_norm_level_f64_c3_buffer_size,
82    cross_correlation_full_norm_level_f64_c3,
83    f64,
84    f64,
85    C3,
86    nppiFullNormLevelGetBufferHostSize_64f_C3R_Ctx,
87    nppiCrossCorrFull_NormLevel_64f_C3R_Ctx
88);
89impl_template_match_norm_level_full!(
90    cross_correlation_full_norm_level_f64_c4_buffer_size,
91    cross_correlation_full_norm_level_f64_c4,
92    f64,
93    f64,
94    C4,
95    nppiFullNormLevelGetBufferHostSize_64f_C4R_Ctx,
96    nppiCrossCorrFull_NormLevel_64f_C4R_Ctx
97);
98impl_template_match_norm_level_full!(
99    cross_correlation_full_norm_level_f64_ac4_buffer_size,
100    cross_correlation_full_norm_level_f64_ac4,
101    f64,
102    f64,
103    AC4,
104    nppiFullNormLevelGetBufferHostSize_64f_AC4R_Ctx,
105    nppiCrossCorrFull_NormLevel_64f_AC4R_Ctx
106);
107impl_template_match_norm_level_full!(
108    cross_correlation_full_norm_level_u8_to_f32_c1_buffer_size,
109    cross_correlation_full_norm_level_u8_to_f32_c1,
110    u8,
111    f32,
112    C1,
113    nppiFullNormLevelGetBufferHostSize_8u32f_C1R_Ctx,
114    nppiCrossCorrFull_NormLevel_8u32f_C1R_Ctx
115);
116impl_template_match_norm_level_full!(
117    cross_correlation_full_norm_level_u8_to_f32_c3_buffer_size,
118    cross_correlation_full_norm_level_u8_to_f32_c3,
119    u8,
120    f32,
121    C3,
122    nppiFullNormLevelGetBufferHostSize_8u32f_C3R_Ctx,
123    nppiCrossCorrFull_NormLevel_8u32f_C3R_Ctx
124);
125impl_template_match_norm_level_full!(
126    cross_correlation_full_norm_level_u8_to_f32_c4_buffer_size,
127    cross_correlation_full_norm_level_u8_to_f32_c4,
128    u8,
129    f32,
130    C4,
131    nppiFullNormLevelGetBufferHostSize_8u32f_C4R_Ctx,
132    nppiCrossCorrFull_NormLevel_8u32f_C4R_Ctx
133);
134impl_template_match_norm_level_full!(
135    cross_correlation_full_norm_level_u8_to_f32_ac4_buffer_size,
136    cross_correlation_full_norm_level_u8_to_f32_ac4,
137    u8,
138    f32,
139    AC4,
140    nppiFullNormLevelGetBufferHostSize_8u32f_AC4R_Ctx,
141    nppiCrossCorrFull_NormLevel_8u32f_AC4R_Ctx
142);
143impl_template_match_norm_level_full!(
144    cross_correlation_full_norm_level_i8_to_f32_c1_buffer_size,
145    cross_correlation_full_norm_level_i8_to_f32_c1,
146    i8,
147    f32,
148    C1,
149    nppiFullNormLevelGetBufferHostSize_8s32f_C1R_Ctx,
150    nppiCrossCorrFull_NormLevel_8s32f_C1R_Ctx
151);
152impl_template_match_norm_level_full!(
153    cross_correlation_full_norm_level_i8_to_f32_c3_buffer_size,
154    cross_correlation_full_norm_level_i8_to_f32_c3,
155    i8,
156    f32,
157    C3,
158    nppiFullNormLevelGetBufferHostSize_8s32f_C3R_Ctx,
159    nppiCrossCorrFull_NormLevel_8s32f_C3R_Ctx
160);
161impl_template_match_norm_level_full!(
162    cross_correlation_full_norm_level_i8_to_f32_c4_buffer_size,
163    cross_correlation_full_norm_level_i8_to_f32_c4,
164    i8,
165    f32,
166    C4,
167    nppiFullNormLevelGetBufferHostSize_8s32f_C4R_Ctx,
168    nppiCrossCorrFull_NormLevel_8s32f_C4R_Ctx
169);
170impl_template_match_norm_level_full!(
171    cross_correlation_full_norm_level_i8_to_f32_ac4_buffer_size,
172    cross_correlation_full_norm_level_i8_to_f32_ac4,
173    i8,
174    f32,
175    AC4,
176    nppiFullNormLevelGetBufferHostSize_8s32f_AC4R_Ctx,
177    nppiCrossCorrFull_NormLevel_8s32f_AC4R_Ctx
178);
179impl_template_match_norm_level_full!(
180    cross_correlation_full_norm_level_u16_to_f32_c1_buffer_size,
181    cross_correlation_full_norm_level_u16_to_f32_c1,
182    u16,
183    f32,
184    C1,
185    nppiFullNormLevelGetBufferHostSize_16u32f_C1R_Ctx,
186    nppiCrossCorrFull_NormLevel_16u32f_C1R_Ctx
187);
188impl_template_match_norm_level_full!(
189    cross_correlation_full_norm_level_u16_to_f32_c3_buffer_size,
190    cross_correlation_full_norm_level_u16_to_f32_c3,
191    u16,
192    f32,
193    C3,
194    nppiFullNormLevelGetBufferHostSize_16u32f_C3R_Ctx,
195    nppiCrossCorrFull_NormLevel_16u32f_C3R_Ctx
196);
197impl_template_match_norm_level_full!(
198    cross_correlation_full_norm_level_u16_to_f32_c4_buffer_size,
199    cross_correlation_full_norm_level_u16_to_f32_c4,
200    u16,
201    f32,
202    C4,
203    nppiFullNormLevelGetBufferHostSize_16u32f_C4R_Ctx,
204    nppiCrossCorrFull_NormLevel_16u32f_C4R_Ctx
205);
206impl_template_match_norm_level_full!(
207    cross_correlation_full_norm_level_u16_to_f32_ac4_buffer_size,
208    cross_correlation_full_norm_level_u16_to_f32_ac4,
209    u16,
210    f32,
211    AC4,
212    nppiFullNormLevelGetBufferHostSize_16u32f_AC4R_Ctx,
213    nppiCrossCorrFull_NormLevel_16u32f_AC4R_Ctx
214);
215impl_generic_template_match_buffered_scaled!(
216    CrossCorrelationFullNormLevelScaledC1,
217    cross_correlation_full_norm_level_c1_scaled,
218    cross_correlation_full_norm_level_c1_scaled_buffer_size,
219    C1,
220    [(
221        u8,
222        cross_correlation_full_norm_level_u8_c1,
223        cross_correlation_full_norm_level_u8_c1_buffer_size
224    )]
225);
226impl_generic_template_match_buffered_scaled!(
227    CrossCorrelationFullNormLevelScaledC3,
228    cross_correlation_full_norm_level_c3_scaled,
229    cross_correlation_full_norm_level_c3_scaled_buffer_size,
230    C3,
231    [(
232        u8,
233        cross_correlation_full_norm_level_u8_c3,
234        cross_correlation_full_norm_level_u8_c3_buffer_size
235    )]
236);
237impl_generic_template_match_buffered_scaled!(
238    CrossCorrelationFullNormLevelScaledC4,
239    cross_correlation_full_norm_level_c4_scaled,
240    cross_correlation_full_norm_level_c4_scaled_buffer_size,
241    C4,
242    [(
243        u8,
244        cross_correlation_full_norm_level_u8_c4,
245        cross_correlation_full_norm_level_u8_c4_buffer_size
246    )]
247);
248impl_generic_template_match_buffered_scaled!(
249    CrossCorrelationFullNormLevelScaledAC4,
250    cross_correlation_full_norm_level_ac4_scaled,
251    cross_correlation_full_norm_level_ac4_scaled_buffer_size,
252    AC4,
253    [(
254        u8,
255        cross_correlation_full_norm_level_u8_ac4,
256        cross_correlation_full_norm_level_u8_ac4_buffer_size
257    )]
258);
259impl_generic_template_match_buffered!(
260    CrossCorrelationFullNormLevelC1,
261    cross_correlation_full_norm_level_c1,
262    cross_correlation_full_norm_level_c1_buffer_size,
263    C1,
264    [
265        (
266            f32,
267            f32,
268            cross_correlation_full_norm_level_f32_c1,
269            cross_correlation_full_norm_level_f32_c1_buffer_size
270        ),
271        (
272            f64,
273            f64,
274            cross_correlation_full_norm_level_f64_c1,
275            cross_correlation_full_norm_level_f64_c1_buffer_size
276        ),
277        (
278            u8,
279            f32,
280            cross_correlation_full_norm_level_u8_to_f32_c1,
281            cross_correlation_full_norm_level_u8_to_f32_c1_buffer_size
282        ),
283        (
284            i8,
285            f32,
286            cross_correlation_full_norm_level_i8_to_f32_c1,
287            cross_correlation_full_norm_level_i8_to_f32_c1_buffer_size
288        ),
289        (
290            u16,
291            f32,
292            cross_correlation_full_norm_level_u16_to_f32_c1,
293            cross_correlation_full_norm_level_u16_to_f32_c1_buffer_size
294        ),
295    ]
296);
297impl_generic_template_match_buffered!(
298    CrossCorrelationFullNormLevelC3,
299    cross_correlation_full_norm_level_c3,
300    cross_correlation_full_norm_level_c3_buffer_size,
301    C3,
302    [
303        (
304            f32,
305            f32,
306            cross_correlation_full_norm_level_f32_c3,
307            cross_correlation_full_norm_level_f32_c3_buffer_size
308        ),
309        (
310            f64,
311            f64,
312            cross_correlation_full_norm_level_f64_c3,
313            cross_correlation_full_norm_level_f64_c3_buffer_size
314        ),
315        (
316            u8,
317            f32,
318            cross_correlation_full_norm_level_u8_to_f32_c3,
319            cross_correlation_full_norm_level_u8_to_f32_c3_buffer_size
320        ),
321        (
322            i8,
323            f32,
324            cross_correlation_full_norm_level_i8_to_f32_c3,
325            cross_correlation_full_norm_level_i8_to_f32_c3_buffer_size
326        ),
327        (
328            u16,
329            f32,
330            cross_correlation_full_norm_level_u16_to_f32_c3,
331            cross_correlation_full_norm_level_u16_to_f32_c3_buffer_size
332        ),
333    ]
334);
335impl_generic_template_match_buffered!(
336    CrossCorrelationFullNormLevelC4,
337    cross_correlation_full_norm_level_c4,
338    cross_correlation_full_norm_level_c4_buffer_size,
339    C4,
340    [
341        (
342            f32,
343            f32,
344            cross_correlation_full_norm_level_f32_c4,
345            cross_correlation_full_norm_level_f32_c4_buffer_size
346        ),
347        (
348            f64,
349            f64,
350            cross_correlation_full_norm_level_f64_c4,
351            cross_correlation_full_norm_level_f64_c4_buffer_size
352        ),
353        (
354            u8,
355            f32,
356            cross_correlation_full_norm_level_u8_to_f32_c4,
357            cross_correlation_full_norm_level_u8_to_f32_c4_buffer_size
358        ),
359        (
360            i8,
361            f32,
362            cross_correlation_full_norm_level_i8_to_f32_c4,
363            cross_correlation_full_norm_level_i8_to_f32_c4_buffer_size
364        ),
365        (
366            u16,
367            f32,
368            cross_correlation_full_norm_level_u16_to_f32_c4,
369            cross_correlation_full_norm_level_u16_to_f32_c4_buffer_size
370        ),
371    ]
372);
373impl_generic_template_match_buffered!(
374    CrossCorrelationFullNormLevelAC4,
375    cross_correlation_full_norm_level_ac4,
376    cross_correlation_full_norm_level_ac4_buffer_size,
377    AC4,
378    [
379        (
380            f32,
381            f32,
382            cross_correlation_full_norm_level_f32_ac4,
383            cross_correlation_full_norm_level_f32_ac4_buffer_size
384        ),
385        (
386            f64,
387            f64,
388            cross_correlation_full_norm_level_f64_ac4,
389            cross_correlation_full_norm_level_f64_ac4_buffer_size
390        ),
391        (
392            u8,
393            f32,
394            cross_correlation_full_norm_level_u8_to_f32_ac4,
395            cross_correlation_full_norm_level_u8_to_f32_ac4_buffer_size
396        ),
397        (
398            i8,
399            f32,
400            cross_correlation_full_norm_level_i8_to_f32_ac4,
401            cross_correlation_full_norm_level_i8_to_f32_ac4_buffer_size
402        ),
403        (
404            u16,
405            f32,
406            cross_correlation_full_norm_level_u16_to_f32_ac4,
407            cross_correlation_full_norm_level_u16_to_f32_ac4_buffer_size
408        ),
409    ]
410);