Skip to main content

singe_npp/image/
statistics_template_norm_level_same.rs

1use super::*;
2
3impl_template_match_norm_level_same_scaled!(
4    cross_correlation_same_norm_level_u8_c1_buffer_size,
5    cross_correlation_same_norm_level_u8_c1,
6    u8,
7    C1,
8    nppiSameNormLevelGetBufferHostSize_8u_C1RSfs_Ctx,
9    nppiCrossCorrSame_NormLevel_8u_C1RSfs_Ctx
10);
11impl_template_match_norm_level_same_scaled!(
12    cross_correlation_same_norm_level_u8_c3_buffer_size,
13    cross_correlation_same_norm_level_u8_c3,
14    u8,
15    C3,
16    nppiSameNormLevelGetBufferHostSize_8u_C3RSfs_Ctx,
17    nppiCrossCorrSame_NormLevel_8u_C3RSfs_Ctx
18);
19impl_template_match_norm_level_same_scaled!(
20    cross_correlation_same_norm_level_u8_c4_buffer_size,
21    cross_correlation_same_norm_level_u8_c4,
22    u8,
23    C4,
24    nppiSameNormLevelGetBufferHostSize_8u_C4RSfs_Ctx,
25    nppiCrossCorrSame_NormLevel_8u_C4RSfs_Ctx
26);
27impl_template_match_norm_level_same_scaled!(
28    cross_correlation_same_norm_level_u8_ac4_buffer_size,
29    cross_correlation_same_norm_level_u8_ac4,
30    u8,
31    AC4,
32    nppiSameNormLevelGetBufferHostSize_8u_AC4RSfs_Ctx,
33    nppiCrossCorrSame_NormLevel_8u_AC4RSfs_Ctx
34);
35impl_template_match_norm_level_same!(
36    cross_correlation_same_norm_level_f32_c1_buffer_size,
37    cross_correlation_same_norm_level_f32_c1,
38    f32,
39    f32,
40    C1,
41    nppiSameNormLevelGetBufferHostSize_32f_C1R_Ctx,
42    nppiCrossCorrSame_NormLevel_32f_C1R_Ctx
43);
44impl_template_match_norm_level_same!(
45    cross_correlation_same_norm_level_f32_c3_buffer_size,
46    cross_correlation_same_norm_level_f32_c3,
47    f32,
48    f32,
49    C3,
50    nppiSameNormLevelGetBufferHostSize_32f_C3R_Ctx,
51    nppiCrossCorrSame_NormLevel_32f_C3R_Ctx
52);
53impl_template_match_norm_level_same!(
54    cross_correlation_same_norm_level_f32_c4_buffer_size,
55    cross_correlation_same_norm_level_f32_c4,
56    f32,
57    f32,
58    C4,
59    nppiSameNormLevelGetBufferHostSize_32f_C4R_Ctx,
60    nppiCrossCorrSame_NormLevel_32f_C4R_Ctx
61);
62impl_template_match_norm_level_same!(
63    cross_correlation_same_norm_level_f32_ac4_buffer_size,
64    cross_correlation_same_norm_level_f32_ac4,
65    f32,
66    f32,
67    AC4,
68    nppiSameNormLevelGetBufferHostSize_32f_AC4R_Ctx,
69    nppiCrossCorrSame_NormLevel_32f_AC4R_Ctx
70);
71impl_template_match_norm_level_same!(
72    cross_correlation_same_norm_level_f64_c1_buffer_size,
73    cross_correlation_same_norm_level_f64_c1,
74    f64,
75    f64,
76    C1,
77    nppiSameNormLevelGetBufferHostSize_64f_C1R_Ctx,
78    nppiCrossCorrSame_NormLevel_64f_C1R_Ctx
79);
80impl_template_match_norm_level_same!(
81    cross_correlation_same_norm_level_f64_c3_buffer_size,
82    cross_correlation_same_norm_level_f64_c3,
83    f64,
84    f64,
85    C3,
86    nppiSameNormLevelGetBufferHostSize_64f_C3R_Ctx,
87    nppiCrossCorrSame_NormLevel_64f_C3R_Ctx
88);
89impl_template_match_norm_level_same!(
90    cross_correlation_same_norm_level_f64_c4_buffer_size,
91    cross_correlation_same_norm_level_f64_c4,
92    f64,
93    f64,
94    C4,
95    nppiSameNormLevelGetBufferHostSize_64f_C4R_Ctx,
96    nppiCrossCorrSame_NormLevel_64f_C4R_Ctx
97);
98impl_template_match_norm_level_same!(
99    cross_correlation_same_norm_level_f64_ac4_buffer_size,
100    cross_correlation_same_norm_level_f64_ac4,
101    f64,
102    f64,
103    AC4,
104    nppiSameNormLevelGetBufferHostSize_64f_AC4R_Ctx,
105    nppiCrossCorrSame_NormLevel_64f_AC4R_Ctx
106);
107impl_template_match_norm_level_same!(
108    cross_correlation_same_norm_level_u8_to_f32_c1_buffer_size,
109    cross_correlation_same_norm_level_u8_to_f32_c1,
110    u8,
111    f32,
112    C1,
113    nppiSameNormLevelGetBufferHostSize_8u32f_C1R_Ctx,
114    nppiCrossCorrSame_NormLevel_8u32f_C1R_Ctx
115);
116impl_template_match_norm_level_same!(
117    cross_correlation_same_norm_level_u8_to_f32_c3_buffer_size,
118    cross_correlation_same_norm_level_u8_to_f32_c3,
119    u8,
120    f32,
121    C3,
122    nppiSameNormLevelGetBufferHostSize_8u32f_C3R_Ctx,
123    nppiCrossCorrSame_NormLevel_8u32f_C3R_Ctx
124);
125impl_template_match_norm_level_same!(
126    cross_correlation_same_norm_level_u8_to_f32_c4_buffer_size,
127    cross_correlation_same_norm_level_u8_to_f32_c4,
128    u8,
129    f32,
130    C4,
131    nppiSameNormLevelGetBufferHostSize_8u32f_C4R_Ctx,
132    nppiCrossCorrSame_NormLevel_8u32f_C4R_Ctx
133);
134impl_template_match_norm_level_same!(
135    cross_correlation_same_norm_level_u8_to_f32_ac4_buffer_size,
136    cross_correlation_same_norm_level_u8_to_f32_ac4,
137    u8,
138    f32,
139    AC4,
140    nppiSameNormLevelGetBufferHostSize_8u32f_AC4R_Ctx,
141    nppiCrossCorrSame_NormLevel_8u32f_AC4R_Ctx
142);
143impl_template_match_norm_level_same!(
144    cross_correlation_same_norm_level_i8_to_f32_c1_buffer_size,
145    cross_correlation_same_norm_level_i8_to_f32_c1,
146    i8,
147    f32,
148    C1,
149    nppiSameNormLevelGetBufferHostSize_8s32f_C1R_Ctx,
150    nppiCrossCorrSame_NormLevel_8s32f_C1R_Ctx
151);
152impl_template_match_norm_level_same!(
153    cross_correlation_same_norm_level_i8_to_f32_c3_buffer_size,
154    cross_correlation_same_norm_level_i8_to_f32_c3,
155    i8,
156    f32,
157    C3,
158    nppiSameNormLevelGetBufferHostSize_8s32f_C3R_Ctx,
159    nppiCrossCorrSame_NormLevel_8s32f_C3R_Ctx
160);
161impl_template_match_norm_level_same!(
162    cross_correlation_same_norm_level_i8_to_f32_c4_buffer_size,
163    cross_correlation_same_norm_level_i8_to_f32_c4,
164    i8,
165    f32,
166    C4,
167    nppiSameNormLevelGetBufferHostSize_8s32f_C4R_Ctx,
168    nppiCrossCorrSame_NormLevel_8s32f_C4R_Ctx
169);
170impl_template_match_norm_level_same!(
171    cross_correlation_same_norm_level_i8_to_f32_ac4_buffer_size,
172    cross_correlation_same_norm_level_i8_to_f32_ac4,
173    i8,
174    f32,
175    AC4,
176    nppiSameNormLevelGetBufferHostSize_8s32f_AC4R_Ctx,
177    nppiCrossCorrSame_NormLevel_8s32f_AC4R_Ctx
178);
179impl_template_match_norm_level_same!(
180    cross_correlation_same_norm_level_u16_to_f32_c1_buffer_size,
181    cross_correlation_same_norm_level_u16_to_f32_c1,
182    u16,
183    f32,
184    C1,
185    nppiSameNormLevelGetBufferHostSize_16u32f_C1R_Ctx,
186    nppiCrossCorrSame_NormLevel_16u32f_C1R_Ctx
187);
188impl_template_match_norm_level_same!(
189    cross_correlation_same_norm_level_u16_to_f32_c3_buffer_size,
190    cross_correlation_same_norm_level_u16_to_f32_c3,
191    u16,
192    f32,
193    C3,
194    nppiSameNormLevelGetBufferHostSize_16u32f_C3R_Ctx,
195    nppiCrossCorrSame_NormLevel_16u32f_C3R_Ctx
196);
197impl_template_match_norm_level_same!(
198    cross_correlation_same_norm_level_u16_to_f32_c4_buffer_size,
199    cross_correlation_same_norm_level_u16_to_f32_c4,
200    u16,
201    f32,
202    C4,
203    nppiSameNormLevelGetBufferHostSize_16u32f_C4R_Ctx,
204    nppiCrossCorrSame_NormLevel_16u32f_C4R_Ctx
205);
206impl_template_match_norm_level_same!(
207    cross_correlation_same_norm_level_u16_to_f32_ac4_buffer_size,
208    cross_correlation_same_norm_level_u16_to_f32_ac4,
209    u16,
210    f32,
211    AC4,
212    nppiSameNormLevelGetBufferHostSize_16u32f_AC4R_Ctx,
213    nppiCrossCorrSame_NormLevel_16u32f_AC4R_Ctx
214);
215
216impl_generic_template_match_buffered_scaled!(
217    CrossCorrelationSameNormLevelScaledC1,
218    cross_correlation_same_norm_level_c1_scaled,
219    cross_correlation_same_norm_level_c1_scaled_buffer_size,
220    C1,
221    [(
222        u8,
223        cross_correlation_same_norm_level_u8_c1,
224        cross_correlation_same_norm_level_u8_c1_buffer_size
225    )]
226);
227impl_generic_template_match_buffered_scaled!(
228    CrossCorrelationSameNormLevelScaledC3,
229    cross_correlation_same_norm_level_c3_scaled,
230    cross_correlation_same_norm_level_c3_scaled_buffer_size,
231    C3,
232    [(
233        u8,
234        cross_correlation_same_norm_level_u8_c3,
235        cross_correlation_same_norm_level_u8_c3_buffer_size
236    )]
237);
238impl_generic_template_match_buffered_scaled!(
239    CrossCorrelationSameNormLevelScaledC4,
240    cross_correlation_same_norm_level_c4_scaled,
241    cross_correlation_same_norm_level_c4_scaled_buffer_size,
242    C4,
243    [(
244        u8,
245        cross_correlation_same_norm_level_u8_c4,
246        cross_correlation_same_norm_level_u8_c4_buffer_size
247    )]
248);
249impl_generic_template_match_buffered_scaled!(
250    CrossCorrelationSameNormLevelScaledAC4,
251    cross_correlation_same_norm_level_ac4_scaled,
252    cross_correlation_same_norm_level_ac4_scaled_buffer_size,
253    AC4,
254    [(
255        u8,
256        cross_correlation_same_norm_level_u8_ac4,
257        cross_correlation_same_norm_level_u8_ac4_buffer_size
258    )]
259);
260impl_generic_template_match_buffered!(
261    CrossCorrelationSameNormLevelC1,
262    cross_correlation_same_norm_level_c1,
263    cross_correlation_same_norm_level_c1_buffer_size,
264    C1,
265    [
266        (
267            f32,
268            f32,
269            cross_correlation_same_norm_level_f32_c1,
270            cross_correlation_same_norm_level_f32_c1_buffer_size
271        ),
272        (
273            f64,
274            f64,
275            cross_correlation_same_norm_level_f64_c1,
276            cross_correlation_same_norm_level_f64_c1_buffer_size
277        ),
278        (
279            u8,
280            f32,
281            cross_correlation_same_norm_level_u8_to_f32_c1,
282            cross_correlation_same_norm_level_u8_to_f32_c1_buffer_size
283        ),
284        (
285            i8,
286            f32,
287            cross_correlation_same_norm_level_i8_to_f32_c1,
288            cross_correlation_same_norm_level_i8_to_f32_c1_buffer_size
289        ),
290        (
291            u16,
292            f32,
293            cross_correlation_same_norm_level_u16_to_f32_c1,
294            cross_correlation_same_norm_level_u16_to_f32_c1_buffer_size
295        ),
296    ]
297);
298impl_generic_template_match_buffered!(
299    CrossCorrelationSameNormLevelC3,
300    cross_correlation_same_norm_level_c3,
301    cross_correlation_same_norm_level_c3_buffer_size,
302    C3,
303    [
304        (
305            f32,
306            f32,
307            cross_correlation_same_norm_level_f32_c3,
308            cross_correlation_same_norm_level_f32_c3_buffer_size
309        ),
310        (
311            f64,
312            f64,
313            cross_correlation_same_norm_level_f64_c3,
314            cross_correlation_same_norm_level_f64_c3_buffer_size
315        ),
316        (
317            u8,
318            f32,
319            cross_correlation_same_norm_level_u8_to_f32_c3,
320            cross_correlation_same_norm_level_u8_to_f32_c3_buffer_size
321        ),
322        (
323            i8,
324            f32,
325            cross_correlation_same_norm_level_i8_to_f32_c3,
326            cross_correlation_same_norm_level_i8_to_f32_c3_buffer_size
327        ),
328        (
329            u16,
330            f32,
331            cross_correlation_same_norm_level_u16_to_f32_c3,
332            cross_correlation_same_norm_level_u16_to_f32_c3_buffer_size
333        ),
334    ]
335);
336impl_generic_template_match_buffered!(
337    CrossCorrelationSameNormLevelC4,
338    cross_correlation_same_norm_level_c4,
339    cross_correlation_same_norm_level_c4_buffer_size,
340    C4,
341    [
342        (
343            f32,
344            f32,
345            cross_correlation_same_norm_level_f32_c4,
346            cross_correlation_same_norm_level_f32_c4_buffer_size
347        ),
348        (
349            f64,
350            f64,
351            cross_correlation_same_norm_level_f64_c4,
352            cross_correlation_same_norm_level_f64_c4_buffer_size
353        ),
354        (
355            u8,
356            f32,
357            cross_correlation_same_norm_level_u8_to_f32_c4,
358            cross_correlation_same_norm_level_u8_to_f32_c4_buffer_size
359        ),
360        (
361            i8,
362            f32,
363            cross_correlation_same_norm_level_i8_to_f32_c4,
364            cross_correlation_same_norm_level_i8_to_f32_c4_buffer_size
365        ),
366        (
367            u16,
368            f32,
369            cross_correlation_same_norm_level_u16_to_f32_c4,
370            cross_correlation_same_norm_level_u16_to_f32_c4_buffer_size
371        ),
372    ]
373);
374impl_generic_template_match_buffered!(
375    CrossCorrelationSameNormLevelAC4,
376    cross_correlation_same_norm_level_ac4,
377    cross_correlation_same_norm_level_ac4_buffer_size,
378    AC4,
379    [
380        (
381            f32,
382            f32,
383            cross_correlation_same_norm_level_f32_ac4,
384            cross_correlation_same_norm_level_f32_ac4_buffer_size
385        ),
386        (
387            f64,
388            f64,
389            cross_correlation_same_norm_level_f64_ac4,
390            cross_correlation_same_norm_level_f64_ac4_buffer_size
391        ),
392        (
393            u8,
394            f32,
395            cross_correlation_same_norm_level_u8_to_f32_ac4,
396            cross_correlation_same_norm_level_u8_to_f32_ac4_buffer_size
397        ),
398        (
399            i8,
400            f32,
401            cross_correlation_same_norm_level_i8_to_f32_ac4,
402            cross_correlation_same_norm_level_i8_to_f32_ac4_buffer_size
403        ),
404        (
405            u16,
406            f32,
407            cross_correlation_same_norm_level_u16_to_f32_ac4,
408            cross_correlation_same_norm_level_u16_to_f32_ac4_buffer_size
409        ),
410    ]
411);