1use super::*;
2
3impl_color_convert_same_layout!(rgb_to_xyz_u8_c3, u8, C3, nppiRGBToXYZ_8u_C3R_Ctx);
4impl_color_convert_same_layout!(rgb_to_xyz_u8_ac4, u8, AC4, nppiRGBToXYZ_8u_AC4R_Ctx);
5impl_color_convert_same_layout!(xyz_to_rgb_u8_c3, u8, C3, nppiXYZToRGB_8u_C3R_Ctx);
6impl_color_convert_same_layout!(xyz_to_rgb_u8_ac4, u8, AC4, nppiXYZToRGB_8u_AC4R_Ctx);
7impl_color_convert_same_layout!(rgb_to_luv_u8_c3, u8, C3, nppiRGBToLUV_8u_C3R_Ctx);
8impl_color_convert_same_layout!(rgb_to_luv_u8_ac4, u8, AC4, nppiRGBToLUV_8u_AC4R_Ctx);
9impl_color_convert_same_layout!(luv_to_rgb_u8_c3, u8, C3, nppiLUVToRGB_8u_C3R_Ctx);
10impl_color_convert_same_layout!(luv_to_rgb_u8_ac4, u8, AC4, nppiLUVToRGB_8u_AC4R_Ctx);
11impl_color_convert_same_layout!(rgb_to_hsv_u8_c3, u8, C3, nppiRGBToHSV_8u_C3R_Ctx);
12impl_color_convert_same_layout!(rgb_to_hsv_u8_ac4, u8, AC4, nppiRGBToHSV_8u_AC4R_Ctx);
13impl_color_convert_same_layout!(hsv_to_rgb_u8_c3, u8, C3, nppiHSVToRGB_8u_C3R_Ctx);
14impl_color_convert_same_layout!(hsv_to_rgb_u8_ac4, u8, AC4, nppiHSVToRGB_8u_AC4R_Ctx);
15impl_color_convert_same_layout!(rgb_to_hls_u8_c3, u8, C3, nppiRGBToHLS_8u_C3R_Ctx);
16impl_color_convert_same_layout!(rgb_to_hls_u8_ac4, u8, AC4, nppiRGBToHLS_8u_AC4R_Ctx);
17impl_color_convert_same_layout!(hls_to_rgb_u8_c3, u8, C3, nppiHLSToRGB_8u_C3R_Ctx);
18impl_color_convert_same_layout!(hls_to_rgb_u8_ac4, u8, AC4, nppiHLSToRGB_8u_AC4R_Ctx);
19impl_color_convert_same_layout!(bgr_to_lab_u8_c3, u8, C3, nppiBGRToLab_8u_C3R_Ctx);
20impl_color_convert_same_layout!(lab_to_bgr_u8_c3, u8, C3, nppiLabToBGR_8u_C3R_Ctx);
21impl_color_convert_same_layout!(rgb_to_yuv_u8_c3, u8, C3, nppiRGBToYUV_8u_C3R_Ctx);
22impl_color_convert_same_layout!(rgb_to_yuv_u8_ac4, u8, AC4, nppiRGBToYUV_8u_AC4R_Ctx);
23impl_generic_color_convert_same_layout!(RgbToXyzC3, rgb_to_xyz, rgb_to_xyz_c3, C3, [
24 u8 => rgb_to_xyz_u8_c3,
25]);
26impl_generic_color_convert_same_layout!(RgbToXyzAC4, rgb_to_xyz, rgb_to_xyz_ac4, AC4, [
27 u8 => rgb_to_xyz_u8_ac4,
28]);
29impl_generic_color_convert_same_layout!(XyzToRgbC3, xyz_to_rgb, xyz_to_rgb_c3, C3, [
30 u8 => xyz_to_rgb_u8_c3,
31]);
32impl_generic_color_convert_same_layout!(XyzToRgbAC4, xyz_to_rgb, xyz_to_rgb_ac4, AC4, [
33 u8 => xyz_to_rgb_u8_ac4,
34]);
35impl_generic_color_convert_same_layout!(RgbToLuvC3, rgb_to_luv, rgb_to_luv_c3, C3, [
36 u8 => rgb_to_luv_u8_c3,
37]);
38impl_generic_color_convert_same_layout!(RgbToLuvAC4, rgb_to_luv, rgb_to_luv_ac4, AC4, [
39 u8 => rgb_to_luv_u8_ac4,
40]);
41impl_generic_color_convert_same_layout!(LuvToRgbC3, luv_to_rgb, luv_to_rgb_c3, C3, [
42 u8 => luv_to_rgb_u8_c3,
43]);
44impl_generic_color_convert_same_layout!(LuvToRgbAC4, luv_to_rgb, luv_to_rgb_ac4, AC4, [
45 u8 => luv_to_rgb_u8_ac4,
46]);
47impl_generic_color_convert_same_layout!(RgbToHsvC3, rgb_to_hsv, rgb_to_hsv_c3, C3, [
48 u8 => rgb_to_hsv_u8_c3,
49]);
50impl_generic_color_convert_same_layout!(RgbToHsvAC4, rgb_to_hsv, rgb_to_hsv_ac4, AC4, [
51 u8 => rgb_to_hsv_u8_ac4,
52]);
53impl_generic_color_convert_same_layout!(HsvToRgbC3, hsv_to_rgb, hsv_to_rgb_c3, C3, [
54 u8 => hsv_to_rgb_u8_c3,
55]);
56impl_generic_color_convert_same_layout!(HsvToRgbAC4, hsv_to_rgb, hsv_to_rgb_ac4, AC4, [
57 u8 => hsv_to_rgb_u8_ac4,
58]);
59impl_generic_color_convert_same_layout!(RgbToHlsC3, rgb_to_hls, rgb_to_hls_c3, C3, [
60 u8 => rgb_to_hls_u8_c3,
61]);
62impl_generic_color_convert_same_layout!(RgbToHlsAC4, rgb_to_hls, rgb_to_hls_ac4, AC4, [
63 u8 => rgb_to_hls_u8_ac4,
64]);
65impl_generic_color_convert_same_layout!(HlsToRgbC3, hls_to_rgb, hls_to_rgb_c3, C3, [
66 u8 => hls_to_rgb_u8_c3,
67]);
68impl_generic_color_convert_same_layout!(HlsToRgbAC4, hls_to_rgb, hls_to_rgb_ac4, AC4, [
69 u8 => hls_to_rgb_u8_ac4,
70]);
71impl_generic_color_convert_same_layout!(BgrToLabC3, bgr_to_lab, bgr_to_lab_c3, C3, [
72 u8 => bgr_to_lab_u8_c3,
73]);
74impl_generic_color_convert_same_layout!(LabToBgrC3, lab_to_bgr, lab_to_bgr_c3, C3, [
75 u8 => lab_to_bgr_u8_c3,
76]);
77impl_generic_color_convert_same_layout!(RgbToYuvC3, rgb_to_yuv, rgb_to_yuv_c3, C3, [
78 u8 => rgb_to_yuv_u8_c3,
79]);
80impl_generic_color_convert_same_layout!(RgbToYuvAC4, rgb_to_yuv, rgb_to_yuv_ac4, AC4, [
81 u8 => rgb_to_yuv_u8_ac4,
82]);
83impl_color_convert_different_layout!(
84 rgb_to_yuv422_u8_c3_to_c2,
85 u8,
86 C3,
87 C2,
88 nppiRGBToYUV422_8u_C3C2R_Ctx
89);
90impl_color_twist_different_layout!(
91 rgb_to_yuv422_u8_color_twist_c3_to_c2,
92 u8,
93 C3,
94 C2,
95 nppiRGBToYUV422_8u_ColorTwist32f_C3C2R_Ctx
96);
97impl_color_twist_different_layout!(
98 rgb_to_yuv422_u16_color_twist_c3_to_c2,
99 u16,
100 C3,
101 C2,
102 nppiRGBToYUV422_16u_ColorTwist32f_C3C2R_Ctx
103);
104impl_color_convert_same_layout!(yuv_to_rgb_u8_c3, u8, C3, nppiYUVToRGB_8u_C3R_Ctx);
105impl_color_convert_same_layout!(yuv_to_rgb_u8_ac4, u8, AC4, nppiYUVToRGB_8u_AC4R_Ctx);
106impl_generic_color_convert_same_layout!(YuvToRgbC3, yuv_to_rgb, yuv_to_rgb_c3, C3, [
107 u8 => yuv_to_rgb_u8_c3,
108]);
109impl_generic_color_convert_same_layout!(YuvToRgbAC4, yuv_to_rgb, yuv_to_rgb_ac4, AC4, [
110 u8 => yuv_to_rgb_u8_ac4,
111]);
112impl_color_convert_different_layout!(
113 yuv422_to_rgb_u8_c2_to_c3,
114 u8,
115 C2,
116 C3,
117 nppiYUV422ToRGB_8u_C2C3R_Ctx
118);
119impl_color_twist_different_layout!(
120 yuv422_to_rgb_u8_color_twist_c2_to_c3,
121 u8,
122 C2,
123 C3,
124 nppiYUV422ToRGB_8u_ColorTwist32f_C2C3R_Ctx
125);
126impl_color_twist_different_layout!(
127 yuv422_to_rgb_u16_color_twist_c2_to_c3,
128 u16,
129 C2,
130 C3,
131 nppiYUV422ToRGB_16u_ColorTwist32f_C2C3R_Ctx
132);
133impl_subsampled_color_twist_planar_forward!(
134 rgb_to_yuv422_u8_color_twist_p3,
135 u8,
136 nppiRGBToYUV422_8u_ColorTwist32f_P3R_Ctx,
137 2,
138 1
139);
140impl_subsampled_color_twist_planar_forward!(
141 rgb_to_yuv422_u16_color_twist_p3,
142 u16,
143 nppiRGBToYUV422_16u_ColorTwist32f_P3R_Ctx,
144 2,
145 1
146);
147impl_subsampled_color_twist_packed_forward!(
148 rgb_to_yuv422_u8_color_twist_c3_to_p3,
149 u8,
150 C3,
151 nppiRGBToYUV422_8u_ColorTwist32f_C3P3R_Ctx,
152 2,
153 1
154);
155impl_subsampled_color_twist_packed_forward!(
156 rgb_to_yuv422_u16_color_twist_c3_to_p3,
157 u16,
158 C3,
159 nppiRGBToYUV422_16u_ColorTwist32f_C3P3R_Ctx,
160 2,
161 1
162);
163impl_subsampled_color_twist_planar_inverse!(
164 yuv422_to_rgb_u8_color_twist_p3,
165 u8,
166 nppiYUV422ToRGB_8u_ColorTwist32f_P3R_Ctx,
167 2,
168 1
169);
170impl_subsampled_color_twist_planar_inverse!(
171 yuv422_to_rgb_u16_color_twist_p3,
172 u16,
173 nppiYUV422ToRGB_16u_ColorTwist32f_P3R_Ctx,
174 2,
175 1
176);
177impl_subsampled_color_twist_packed_inverse!(
178 yuv422_to_rgb_u8_color_twist_p3_to_c3,
179 u8,
180 C3,
181 nppiYUV422ToRGB_8u_ColorTwist32f_P3C3R_Ctx,
182 2,
183 1
184);
185impl_subsampled_color_twist_packed_inverse!(
186 yuv422_to_rgb_u16_color_twist_p3_to_c3,
187 u16,
188 C3,
189 nppiYUV422ToRGB_16u_ColorTwist32f_P3C3R_Ctx,
190 2,
191 1
192);
193impl_subsampled_color_twist_packed_inverse_constant_alpha!(
194 yuv422_to_rgb_u8_color_twist_p3_to_ac4,
195 u8,
196 nppiYUV422ToRGB_8u_ColorTwist32f_P3AC4R_Ctx,
197 2,
198 1
199);
200impl_subsampled_color_twist_packed_inverse_constant_alpha!(
201 yuv422_to_rgb_u16_color_twist_p3_to_ac4,
202 u16,
203 nppiYUV422ToRGB_16u_ColorTwist32f_P3AC4R_Ctx,
204 2,
205 1
206);
207impl_subsampled_color_twist_planar_forward!(
208 rgb_to_yuv420_u8_color_twist_p3,
209 u8,
210 nppiRGBToYUV420_8u_ColorTwist32f_P3R_Ctx,
211 2,
212 2
213);
214impl_subsampled_color_twist_planar_forward!(
215 rgb_to_yuv420_u16_color_twist_p3,
216 u16,
217 nppiRGBToYUV420_16u_ColorTwist32f_P3R_Ctx,
218 2,
219 2
220);
221impl_subsampled_color_twist_packed_forward!(
222 rgb_to_yuv420_u8_color_twist_c3_to_p3,
223 u8,
224 C3,
225 nppiRGBToYUV420_8u_ColorTwist32f_C3P3R_Ctx,
226 2,
227 2
228);
229impl_subsampled_color_twist_packed_forward!(
230 rgb_to_yuv420_u16_color_twist_c3_to_p3,
231 u16,
232 C3,
233 nppiRGBToYUV420_16u_ColorTwist32f_C3P3R_Ctx,
234 2,
235 2
236);
237impl_subsampled_color_twist_planar_inverse!(
238 yuv420_to_rgb_u8_color_twist_p3,
239 u8,
240 nppiYUV420ToRGB_8u_ColorTwist32f_P3R_Ctx,
241 2,
242 2
243);
244impl_subsampled_color_twist_planar_inverse!(
245 yuv420_to_rgb_u16_color_twist_p3,
246 u16,
247 nppiYUV420ToRGB_16u_ColorTwist32f_P3R_Ctx,
248 2,
249 2
250);
251impl_subsampled_color_twist_packed_inverse!(
252 yuv420_to_rgb_u8_color_twist_p3_to_c3,
253 u8,
254 C3,
255 nppiYUV420ToRGB_8u_ColorTwist32f_P3C3R_Ctx,
256 2,
257 2
258);
259impl_subsampled_color_twist_packed_inverse!(
260 yuv420_to_rgb_u16_color_twist_p3_to_c3,
261 u16,
262 C3,
263 nppiYUV420ToRGB_16u_ColorTwist32f_P3C3R_Ctx,
264 2,
265 2
266);
267impl_subsampled_color_twist_packed_inverse!(
268 yuv420_to_rgb_u8_color_twist_p3_to_c4,
269 u8,
270 C4,
271 nppiYUV420ToRGB_8u_ColorTwist32f_P3C4R_Ctx,
272 2,
273 2
274);
275impl_subsampled_color_twist_packed_inverse!(
276 yuv420_to_rgb_u16_color_twist_p3_to_c4,
277 u16,
278 C4,
279 nppiYUV420ToRGB_16u_ColorTwist32f_P3C4R_Ctx,
280 2,
281 2
282);
283impl_subsampled_color_twist_packed_inverse_constant_alpha!(
284 yuv420_to_rgb_u8_color_twist_p3_to_ac4,
285 u8,
286 nppiYUV420ToRGB_8u_ColorTwist32f_P3AC4R_Ctx,
287 2,
288 2
289);
290impl_subsampled_color_twist_packed_inverse_constant_alpha!(
291 yuv420_to_rgb_u16_color_twist_p3_to_ac4,
292 u16,
293 nppiYUV420ToRGB_16u_ColorTwist32f_P3AC4R_Ctx,
294 2,
295 2
296);
297impl_nv12_color_twist_planar_forward!(
298 rgb_to_nv12_u8_color_twist_p3,
299 u8,
300 nppiRGBToNV12_8u_ColorTwist32f_P3P2R_Ctx
301);
302impl_nv12_color_twist_planar_forward!(
303 rgb_to_nv12_u16_color_twist_p3,
304 u16,
305 nppiRGBToNV12_16u_ColorTwist32f_P3P2R_Ctx
306);
307impl_nv12_color_twist_packed_forward!(
308 rgb_to_nv12_u8_color_twist_c3_to_p2,
309 u8,
310 C3,
311 nppiRGBToNV12_8u_ColorTwist32f_C3P2R_Ctx
312);
313impl_nv12_color_twist_packed_forward!(
314 rgb_to_nv12_u16_color_twist_c3_to_p2,
315 u16,
316 C3,
317 nppiRGBToNV12_16u_ColorTwist32f_C3P2R_Ctx
318);
319impl_nv12_color_twist_packed_inverse!(
320 nv12_to_rgb_u8_color_twist_p2_to_c3,
321 u8,
322 C3,
323 nppiNV12ToRGB_8u_ColorTwist32f_P2C3R_Ctx
324);
325impl_nv12_color_twist_packed_inverse!(
326 nv12_to_rgb_u16_color_twist_p2_to_c3,
327 u16,
328 C3,
329 nppiNV12ToRGB_16u_ColorTwist32f_P2C3R_Ctx
330);
331impl_nv12_packed_inverse!(nv12_to_rgb_u8_p2_to_c3, u8, C3, nppiNV12ToRGB_8u_P2C3R_Ctx);
332impl_nv12_packed_inverse!(
333 nv12_to_rgb_709hdtv_u8_p2_to_c3,
334 u8,
335 C3,
336 nppiNV12ToRGB_709HDTV_8u_P2C3R_Ctx
337);
338impl_nv12_packed_inverse!(
339 nv12_to_rgb_709csc_u8_p2_to_c3,
340 u8,
341 C3,
342 nppiNV12ToRGB_709CSC_8u_P2C3R_Ctx
343);
344impl_nv12_packed_inverse!(nv12_to_bgr_u8_p2_to_c3, u8, C3, nppiNV12ToBGR_8u_P2C3R_Ctx);
345impl_nv12_packed_inverse!(
346 nv12_to_bgr_709hdtv_u8_p2_to_c3,
347 u8,
348 C3,
349 nppiNV12ToBGR_709HDTV_8u_P2C3R_Ctx
350);
351impl_nv12_packed_inverse!(
352 nv12_to_bgr_709csc_u8_p2_to_c3,
353 u8,
354 C3,
355 nppiNV12ToBGR_709CSC_8u_P2C3R_Ctx
356);
357impl_nv12_to_planar!(nv12_to_yuv420_u8_p2_to_p3, nppiNV12ToYUV420_8u_P2P3R_Ctx);
358impl_jpeg_subsampled_packed_inverse!(
359 yuv420_to_rgb_u8_p3_to_ac4,
360 AC4,
361 nppiYUV420ToRGB_8u_P3AC4R_Ctx,
362 2,
363 2
364);
365impl_jpeg_subsampled_packed_inverse_constant_alpha!(
366 ycrcb420_to_rgb_u8_p3_to_c4,
367 nppiYCrCb420ToRGB_8u_P3C4R_Ctx,
368 2,
369 2
370);
371impl_subsampled_p2_to_p3!(ycbcr420_u8_p2_to_p3, nppiYCbCr420_8u_P2P3R_Ctx, 2, 2, 2, 2);
372impl_subsampled_p2_to_p3!(
373 ycbcr420_to_ycbcr422_u8_p2_to_p3,
374 nppiYCbCr420ToYCbCr422_8u_P2P3R_Ctx,
375 2,
376 2,
377 2,
378 1
379);
380impl_subsampled_p2_to_p3!(
381 ycbcr420_to_ycbcr411_u8_p2_to_p3,
382 nppiYCbCr420ToYCbCr411_8u_P2P3R_Ctx,
383 2,
384 2,
385 4,
386 1
387);
388impl_subsampled_p2_to_p3!(
389 ycbcr420_to_ycrcb420_u8_p2_to_p3,
390 nppiYCbCr420ToYCrCb420_8u_P2P3R_Ctx,
391 2,
392 2,
393 2,
394 2
395);
396impl_subsampled_p2_to_p3!(ycbcr411_u8_p2_to_p3, nppiYCbCr411_8u_P2P3R_Ctx, 4, 1, 4, 1);
397impl_subsampled_p2_to_p3!(
398 ycbcr411_to_ycbcr422_u8_p2_to_p3,
399 nppiYCbCr411ToYCbCr422_8u_P2P3R_Ctx,
400 4,
401 1,
402 2,
403 1
404);
405impl_subsampled_p2_to_p3!(
406 ycbcr411_to_ycbcr420_u8_p2_to_p3,
407 nppiYCbCr411ToYCbCr420_8u_P2P3R_Ctx,
408 4,
409 1,
410 2,
411 2
412);
413impl_subsampled_p2_to_p3!(
414 ycbcr411_to_ycrcb420_u8_p2_to_p3,
415 nppiYCbCr411ToYCrCb420_8u_P2P3R_Ctx,
416 4,
417 1,
418 2,
419 2
420);
421impl_subsampled_c2_to_p3!(ycbcr422_u8_c2_to_p3, nppiYCbCr422_8u_C2P3R_Ctx, 2, 1);
422impl_subsampled_c2_to_p3!(
423 ycbcr422_to_ycbcr420_u8_c2_to_p3,
424 nppiYCbCr422ToYCbCr420_8u_C2P3R_Ctx,
425 2,
426 2
427);
428impl_subsampled_c2_to_p2!(
429 ycbcr422_to_ycbcr420_u8_c2_to_p2,
430 nppiYCbCr422ToYCbCr420_8u_C2P2R_Ctx,
431 2,
432 2
433);
434impl_subsampled_c2_to_p3!(
435 ycbcr422_to_ycbcr411_u8_c2_to_p3,
436 nppiYCbCr422ToYCbCr411_8u_C2P3R_Ctx,
437 4,
438 1
439);
440impl_subsampled_c2_to_p2!(
441 ycbcr422_to_ycbcr411_u8_c2_to_p2,
442 nppiYCbCr422ToYCbCr411_8u_C2P2R_Ctx,
443 4,
444 1
445);
446impl_subsampled_c2_to_p3!(
447 ycbcr422_to_ycrcb420_u8_c2_to_p3,
448 nppiYCbCr422ToYCrCb420_8u_C2P3R_Ctx,
449 2,
450 2
451);
452impl_subsampled_c2_to_p3!(
453 ycrcb422_to_ycbcr422_u8_c2_to_p3,
454 nppiYCrCb422ToYCbCr422_8u_C2P3R_Ctx,
455 2,
456 1
457);
458impl_subsampled_c2_to_p3!(
459 ycrcb422_to_ycbcr420_u8_c2_to_p3,
460 nppiYCrCb422ToYCbCr420_8u_C2P3R_Ctx,
461 2,
462 2
463);
464impl_subsampled_c2_to_p3!(
465 ycrcb422_to_ycbcr411_u8_c2_to_p3,
466 nppiYCrCb422ToYCbCr411_8u_C2P3R_Ctx,
467 4,
468 1
469);
470impl_subsampled_c2_to_p3!(
471 cbycr422_to_ycbcr422_u8_c2_to_p3,
472 nppiCbYCr422ToYCbCr422_8u_C2P3R_Ctx,
473 2,
474 1
475);
476impl_subsampled_c2_to_p3!(
477 cbycr422_to_ycbcr420_u8_c2_to_p3,
478 nppiCbYCr422ToYCbCr420_8u_C2P3R_Ctx,
479 2,
480 2
481);
482impl_subsampled_c2_to_p2!(
483 cbycr422_to_ycbcr420_u8_c2_to_p2,
484 nppiCbYCr422ToYCbCr420_8u_C2P2R_Ctx,
485 2,
486 2
487);
488impl_subsampled_c2_to_p3!(
489 cbycr422_to_ycbcr411_u8_c2_to_p3,
490 nppiCbYCr422ToYCbCr411_8u_C2P3R_Ctx,
491 4,
492 1
493);
494impl_subsampled_c2_to_p3!(
495 cbycr422_to_ycrcb420_u8_c2_to_p3,
496 nppiCbYCr422ToYCrCb420_8u_C2P3R_Ctx,
497 2,
498 2
499);
500impl_subsampled_p3_to_p2!(ycbcr420_u8_p3_to_p2, nppiYCbCr420_8u_P3P2R_Ctx, 2, 2, 2, 2);
501impl_subsampled_p3_to_p2!(
502 ycbcr420_to_ycbcr411_u8_p3_to_p2,
503 nppiYCbCr420ToYCbCr411_8u_P3P2R_Ctx,
504 2,
505 2,
506 4,
507 1
508);
509impl_subsampled_p3_to_p2!(
510 ycbcr422_to_ycbcr420_u8_p3_to_p2,
511 nppiYCbCr422ToYCbCr420_8u_P3P2R_Ctx,
512 2,
513 1,
514 2,
515 2
516);
517impl_subsampled_p3_to_p2!(
518 ycbcr422_to_ycbcr411_u8_p3_to_p2,
519 nppiYCbCr422ToYCbCr411_8u_P3P2R_Ctx,
520 2,
521 1,
522 4,
523 1
524);
525impl_subsampled_p3_to_p2!(
526 ycrcb420_to_ycbcr420_u8_p3_to_p2,
527 nppiYCrCb420ToYCbCr420_8u_P3P2R_Ctx,
528 2,
529 2,
530 2,
531 2
532);
533impl_subsampled_p3_to_p2!(
534 ycrcb420_to_ycbcr411_u8_p3_to_p2,
535 nppiYCrCb420ToYCbCr411_8u_P3P2R_Ctx,
536 2,
537 2,
538 4,
539 1
540);
541impl_subsampled_p3_to_p2!(ycbcr411_u8_p3_to_p2, nppiYCbCr411_8u_P3P2R_Ctx, 4, 1, 4, 1);
542impl_subsampled_p3_to_p2!(
543 ycbcr411_to_ycbcr420_u8_p3_to_p2,
544 nppiYCbCr411ToYCbCr420_8u_P3P2R_Ctx,
545 4,
546 1,
547 2,
548 2
549);
550impl_subsampled_p3_to_c2!(ycbcr422_u8_p3_to_c2, nppiYCbCr422_8u_P3C2R_Ctx, 2, 1);
551impl_subsampled_p3_to_c2!(
552 ycbcr422_to_ycrcb422_u8_p3_to_c2,
553 nppiYCbCr422ToYCrCb422_8u_P3C2R_Ctx,
554 2,
555 1
556);
557impl_subsampled_p3_to_c2!(
558 ycrcb420_to_ycbcr422_u8_p3_to_c2,
559 nppiYCrCb420ToYCbCr422_8u_P3C2R_Ctx,
560 2,
561 2
562);
563impl_subsampled_p3_to_c2!(
564 ycrcb420_to_cbycr422_u8_p3_to_c2,
565 nppiYCrCb420ToCbYCr422_8u_P3C2R_Ctx,
566 2,
567 2
568);
569impl_subsampled_p3_to_c2!(
570 ycbcr411_to_ycbcr422_u8_p3_to_c2,
571 nppiYCbCr411ToYCbCr422_8u_P3C2R_Ctx,
572 4,
573 1
574);
575impl_subsampled_p3_to_c2!(
576 ycbcr411_to_ycrcb422_u8_p3_to_c2,
577 nppiYCbCr411ToYCrCb422_8u_P3C2R_Ctx,
578 4,
579 1
580);
581impl_subsampled_p3_to_p3!(
582 ycbcr420_to_ycbcr422_u8_p3_to_p3,
583 nppiYCbCr420ToYCbCr422_8u_P3R_Ctx,
584 2,
585 2,
586 2,
587 1
588);
589impl_subsampled_p3_to_p3!(
590 ycbcr422_to_ycbcr420_u8_p3_to_p3,
591 nppiYCbCr422ToYCbCr420_8u_P3R_Ctx,
592 2,
593 1,
594 2,
595 2
596);
597impl_subsampled_p3_to_p3!(
598 ycbcr422_to_ycbcr411_u8_p3_to_p3,
599 nppiYCbCr422ToYCbCr411_8u_P3R_Ctx,
600 2,
601 1,
602 4,
603 1
604);
605impl_subsampled_p3_to_p3!(
606 ycrcb420_to_ycbcr422_u8_p3_to_p3,
607 nppiYCrCb420ToYCbCr422_8u_P3R_Ctx,
608 2,
609 2,
610 2,
611 1
612);
613impl_subsampled_p3_to_p3!(
614 ycbcr411_to_ycbcr422_u8_p3_to_p3,
615 nppiYCbCr411ToYCbCr422_8u_P3R_Ctx,
616 4,
617 1,
618 2,
619 1
620);
621impl_subsampled_p3_to_p3!(
622 ycbcr411_to_ycbcr420_u8_p3_to_p3,
623 nppiYCbCr411ToYCbCr420_8u_P3R_Ctx,
624 4,
625 1,
626 2,
627 2
628);
629impl_subsampled_p3_to_p3!(
630 ycbcr411_to_ycrcb422_u8_p3_to_p3,
631 nppiYCbCr411ToYCrCb422_8u_P3R_Ctx,
632 4,
633 1,
634 2,
635 1
636);
637impl_subsampled_p2_to_c2!(
638 ycbcr420_to_ycbcr422_u8_p2_to_c2,
639 nppiYCbCr420ToYCbCr422_8u_P2C2R_Ctx,
640 2,
641 2
642);
643impl_subsampled_p2_to_c2!(
644 ycbcr420_to_cbycr422_u8_p2_to_c2,
645 nppiYCbCr420ToCbYCr422_8u_P2C2R_Ctx,
646 2,
647 2
648);
649impl_subsampled_p2_to_c2!(
650 ycbcr411_to_ycbcr422_u8_p2_to_c2,
651 nppiYCbCr411ToYCbCr422_8u_P2C2R_Ctx,
652 4,
653 1
654);
655impl_subsampled_packed_to_p3!(
656 rgb_to_ycbcr420_u8_c3_to_p3,
657 C3,
658 nppiRGBToYCbCr420_8u_C3P3R_Ctx,
659 2,
660 2
661);
662impl_subsampled_packed_to_p3!(
663 rgb_to_ycrcb420_u8_ac4_to_p3,
664 AC4,
665 nppiRGBToYCrCb420_8u_AC4P3R_Ctx,
666 2,
667 2
668);
669impl_subsampled_packed_to_p3!(
670 bgr_to_ycbcr420_u8_c3_to_p3,
671 C3,
672 nppiBGRToYCbCr420_8u_C3P3R_Ctx,
673 2,
674 2
675);
676impl_subsampled_packed_to_p3!(
677 bgr_to_ycbcr420_u8_ac4_to_p3,
678 AC4,
679 nppiBGRToYCbCr420_8u_AC4P3R_Ctx,
680 2,
681 2
682);
683impl_subsampled_packed_to_p3!(
684 bgr_to_ycrcb420_u8_c3_to_p3,
685 C3,
686 nppiBGRToYCrCb420_8u_C3P3R_Ctx,
687 2,
688 2
689);
690impl_subsampled_packed_to_p3!(
691 bgr_to_ycrcb420_u8_ac4_to_p3,
692 AC4,
693 nppiBGRToYCrCb420_8u_AC4P3R_Ctx,
694 2,
695 2
696);
697impl_subsampled_packed_to_p3!(
698 bgr_to_ycbcr420_709csc_u8_c3_to_p3,
699 C3,
700 nppiBGRToYCbCr420_709CSC_8u_C3P3R_Ctx,
701 2,
702 2
703);
704impl_subsampled_packed_to_p3!(
705 bgr_to_ycbcr420_709csc_u8_ac4_to_p3,
706 AC4,
707 nppiBGRToYCbCr420_709CSC_8u_AC4P3R_Ctx,
708 2,
709 2
710);
711impl_subsampled_packed_to_p3!(
712 bgr_to_ycbcr420_709hdtv_u8_ac4_to_p3,
713 AC4,
714 nppiBGRToYCbCr420_709HDTV_8u_AC4P3R_Ctx,
715 2,
716 2
717);
718impl_subsampled_packed_to_p3!(
719 bgr_to_ycrcb420_709csc_u8_c3_to_p3,
720 C3,
721 nppiBGRToYCrCb420_709CSC_8u_C3P3R_Ctx,
722 2,
723 2
724);
725impl_subsampled_packed_to_p3!(
726 bgr_to_ycrcb420_709csc_u8_ac4_to_p3,
727 AC4,
728 nppiBGRToYCrCb420_709CSC_8u_AC4P3R_Ctx,
729 2,
730 2
731);
732impl_subsampled_packed_to_p3!(
733 rgb_to_ycbcr411_u8_c3_to_p3,
734 C3,
735 nppiRGBToYCbCr411_8u_C3P3R_Ctx,
736 4,
737 1
738);
739impl_subsampled_packed_to_p3!(
740 rgb_to_ycbcr411_u8_ac4_to_p3,
741 AC4,
742 nppiRGBToYCbCr411_8u_AC4P3R_Ctx,
743 4,
744 1
745);
746impl_subsampled_packed_to_p3!(
747 bgr_to_ycbcr411_u8_c3_to_p3,
748 C3,
749 nppiBGRToYCbCr411_8u_C3P3R_Ctx,
750 4,
751 1
752);
753impl_subsampled_packed_to_p3!(
754 bgr_to_ycbcr411_u8_ac4_to_p3,
755 AC4,
756 nppiBGRToYCbCr411_8u_AC4P3R_Ctx,
757 4,
758 1
759);
760impl_subsampled_packed_to_p3!(
761 rgb_to_ycbcr422_u8_c3_to_p3,
762 C3,
763 nppiRGBToYCbCr422_8u_C3P3R_Ctx,
764 2,
765 1
766);
767impl_subsampled_packed_to_p3!(
768 bgr_to_ycbcr422_u8_c3_to_p3,
769 C3,
770 nppiBGRToYCbCr422_8u_C3P3R_Ctx,
771 2,
772 1
773);
774impl_subsampled_packed_to_p3!(
775 bgr_to_ycbcr422_u8_ac4_to_p3,
776 AC4,
777 nppiBGRToYCbCr422_8u_AC4P3R_Ctx,
778 2,
779 1
780);
781impl_nv12_packed_inverse!(nv21_to_rgb_u8_p2_to_c4, u8, C4, nppiNV21ToRGB_8u_P2C4R_Ctx);
782impl_nv12_packed_inverse!(nv21_to_bgr_u8_p2_to_c4, u8, C4, nppiNV21ToBGR_8u_P2C4R_Ctx);
783impl_color_convert_batch_same_layout!(yuv_to_rgb_batch_u8_c3, u8, C3, nppiYUVToRGBBatch_8u_C3R_Ctx);
784impl_color_convert_batch_same_layout_advanced!(
785 yuv_to_rgb_batch_u8_c3_advanced,
786 u8,
787 C3,
788 nppiYUVToRGBBatch_8u_C3R_Advanced_Ctx
789);
790impl_color_convert_batch_planar_to_packed!(
791 yuv_to_rgb_batch_u8_p3_to_c3,
792 u8,
793 3,
794 C3,
795 nppiYUVToRGBBatch_8u_P3C3R_Ctx
796);
797impl_color_convert_batch_planar_to_packed_advanced!(
798 yuv_to_rgb_batch_u8_p3_to_c3_advanced,
799 u8,
800 3,
801 C3,
802 nppiYUVToRGBBatch_8u_P3C3R_Advanced_Ctx
803);
804impl_subsampled_color_convert_batch_planar_to_packed!(
805 yuv422_to_rgb_batch_u8_p3_to_c3,
806 u8,
807 C3,
808 nppiYUV422ToRGBBatch_8u_P3C3R_Ctx,
809 2,
810 1
811);
812impl_subsampled_color_convert_batch_planar_to_packed_advanced!(
813 yuv422_to_rgb_batch_u8_p3_to_c3_advanced,
814 u8,
815 C3,
816 nppiYUV422ToRGBBatch_8u_P3C3R_Advanced_Ctx,
817 2,
818 1
819);
820impl_subsampled_color_convert_batch_planar_to_packed!(
821 yuv420_to_rgb_batch_u8_p3_to_c3,
822 u8,
823 C3,
824 nppiYUV420ToRGBBatch_8u_P3C3R_Ctx,
825 2,
826 2
827);
828impl_subsampled_color_convert_batch_planar_to_packed_advanced!(
829 yuv420_to_rgb_batch_u8_p3_to_c3_advanced,
830 u8,
831 C3,
832 nppiYUV420ToRGBBatch_8u_P3C3R_Advanced_Ctx,
833 2,
834 2
835);
836impl_color_convert_packed_to_planar!(rgb_to_yuv_u8_c3_to_p3, u8, C3, 3, nppiRGBToYUV_8u_C3P3R_Ctx);
837impl_color_convert_packed_to_planar!(
838 rgb_to_yuv_u8_ac4_to_p4,
839 u8,
840 AC4,
841 4,
842 nppiRGBToYUV_8u_AC4P4R_Ctx
843);
844impl_color_convert_planar_to_packed!(yuv_to_rgb_u8_p3_to_c3, u8, 3, C3, nppiYUVToRGB_8u_P3C3R_Ctx);