VPI - 视觉编程接口

3.2 版本

ImageFormat.h
前往此文件的文档。
1 /*
2  * 版权所有 2020-2021 NVIDIA Corporation。保留所有权利。
3  *
4  * 给被许可人的通知:
5  *
6  * 此源代码和/或文档(“许可交付物”)受美国和
7  * 国际版权法项下的 NVIDIA 知识产权保护。
8  *
9  * 此处包含的这些许可交付物是 NVIDIA 的专有和
10  * 机密信息,并根据 NVIDIA 与被许可人之间(“许可协议”)或电子方式
11  * 由被许可人接受的 NVIDIA 软件许可协议条款和
12  * 条件提供。 尽管许可协议中有任何相反的条款或条件,
13  * 未经 NVIDIA 明确书面同意,禁止向任何第三方复制或披露
14  * 许可交付物。
15  *
16  * 尽管许可协议中有任何相反的条款或条件,NVIDIA 对
17  * 这些许可交付物对任何用途的适用性不作任何陈述。它是
18  * “按原样”提供,不附带任何明示或暗示的保证。
19  * NVIDIA 声明对这些许可交付物的所有保证,
20  * 包括对适销性、非侵权和特定用途适用性的所有默示保证。
21  * 尽管许可协议中有任何相反的条款或条件,在任何情况下,NVIDIA 均不对任何
22  * 特殊、间接、附带或后果性损害,或任何因使用、数据或利润损失而导致的
23  * 损害负责,无论是在合同、疏忽或其他侵权行为中,
24  * 因使用或执行这些许可交付物而引起或与之相关的诉讼。
25  *
26  * 美国政府最终用户。 这些许可交付物是
27  * “商业项目”,该术语在 48 C.F.R. 2.101 (OCT
28  * 1995) 中定义,包括“商业计算机软件”和“商业
29  * 计算机软件文档”,这些术语在 48
30  * C.F.R. 12.212 (SEPT 1995) 中使用,并且仅作为商业最终项目提供给美国政府。
31  * 与 48 C.F.R.12.212 和 48 C.F.R. 227.7202-1 至 227.7202-4(1995 年 6 月)一致,所有
32  * 美国政府最终用户仅获得此处规定的权利的许可交付物。
33  *
34  * 在个人和商业软件中使用许可交付物必须在用户文档和代码内部
35  * 注释中包含上述免责声明和美国政府最终用户通知。
36  * 用户须知。
37  */
38 
49 #ifndef NV_VPI_IMAGE_FORMAT_H
50 #define NV_VPI_IMAGE_FORMAT_H
51 
52 #include "ColorSpec.h"
53 #include "DataLayout.h"
54 #include "PixelType.h"
55 
56 #include <assert.h>
57 
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61 
88 typedef uint64_t VPIImageFormat;
89 
91 #define VPI_IMAGE_FORMAT_INVALID ((VPIImageFormat)0)
92 
94 #define VPI_IMAGE_FORMAT_U8 VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, UNSIGNED, X000, X8)
95 
97 #define VPI_IMAGE_FORMAT_U8_BL VPI_DETAIL_MAKE_NONCOLOR_FMT1(BL, UNSIGNED, X000, X8)
98 #define VPI_IMAGE_FORMAT_U8_BL16 VPI_DETAIL_MAKE_NONCOLOR_FMT1(BLOCK16_LINEAR, UNSIGNED, X000, X8)
102 #define VPI_IMAGE_FORMAT_S8 VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, SIGNED, X000, X8)
103 
105 #define VPI_IMAGE_FORMAT_U16 VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, UNSIGNED, X000, X16)
106 
108 #define VPI_IMAGE_FORMAT_U32 VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, UNSIGNED, X000, X32)
109 
111 #define VPI_IMAGE_FORMAT_S32 VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, SIGNED, X000, X32)
112 
114 #define VPI_IMAGE_FORMAT_S16 VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, SIGNED, X000, X16)
115 
117 #define VPI_IMAGE_FORMAT_S16_BL VPI_DETAIL_MAKE_NONCOLOR_FMT1(BL, SIGNED, X000, X16)
118 #define VPI_IMAGE_FORMAT_S16_BL16 VPI_DETAIL_MAKE_NONCOLOR_FMT1(BLOCK16_LINEAR, SIGNED, X000, X16)
122 #define VPI_IMAGE_FORMAT_2S16 VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, SIGNED, XY00, X16_Y16)
123 
125 #define VPI_IMAGE_FORMAT_2S16_BL VPI_DETAIL_MAKE_NONCOLOR_FMT1(BL, SIGNED, XY00, X16_Y16)
126 #define VPI_IMAGE_FORMAT_2S16_BL16 VPI_DETAIL_MAKE_NONCOLOR_FMT1(BLOCK16_LINEAR, SIGNED, XY00, X16_Y16)
130 #define VPI_IMAGE_FORMAT_F32 VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, FLOAT, X000, X32)
131 
133 #define VPI_IMAGE_FORMAT_F64 VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, FLOAT, X000, X64)
134 
136 #define VPI_IMAGE_FORMAT_2F32 VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, FLOAT, XY00, X32_Y32)
137 
141 #define VPI_IMAGE_FORMAT_Y8 VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, PL, UNSIGNED, X000, X8)
142 
146 #define VPI_IMAGE_FORMAT_Y8_BL VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BL, UNSIGNED, X000, X8)
147 #define VPI_IMAGE_FORMAT_Y8_BL16 VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X8)
153 #define VPI_IMAGE_FORMAT_Y8_ER VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, PL, UNSIGNED, X000, X8)
154 
158 #define VPI_IMAGE_FORMAT_Y8_ER_BL VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BL, UNSIGNED, X000, X8)
159 #define VPI_IMAGE_FORMAT_Y8_ER_BL16 VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X8)
165 #define VPI_IMAGE_FORMAT_Y16 VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, PL, UNSIGNED, X000, X16)
166 
170 #define VPI_IMAGE_FORMAT_Y16_BL VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BL, UNSIGNED, X000, X16)
171 #define VPI_IMAGE_FORMAT_Y16_BL16 VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X16)
177 #define VPI_IMAGE_FORMAT_Y16_ER VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, PL, UNSIGNED, X000, X16)
178 
182 #define VPI_IMAGE_FORMAT_Y16_ER_BL VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BL, UNSIGNED, X000, X16)
183 #define VPI_IMAGE_FORMAT_Y16_ER_BL16 VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X16)
194 #define VPI_IMAGE_FORMAT_NV12 VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 420, PL, UNSIGNED, XYZ0, X8, X8_Y8)
195 
204 #define VPI_IMAGE_FORMAT_NV12_BL VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 420, BL, UNSIGNED, XYZ0, X8, X8_Y8)
205 #define VPI_IMAGE_FORMAT_NV12_BL16 VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 420, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)
216 #define VPI_IMAGE_FORMAT_NV12_ER VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 420, PL, UNSIGNED, XYZ0, X8, X8_Y8)
217 
226 #define VPI_IMAGE_FORMAT_NV12_ER_BL VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 420, BL, UNSIGNED, XYZ0, X8, X8_Y8)
227 #define VPI_IMAGE_FORMAT_NV12_ER_BL16 \
228  VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 420, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)
238 #define VPI_IMAGE_FORMAT_NV24 VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 444, PL, UNSIGNED, XYZ0, X8, X8_Y8)
239 
247 #define VPI_IMAGE_FORMAT_NV24_BL VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 444, BL, UNSIGNED, XYZ0, X8, X8_Y8)
248 #define VPI_IMAGE_FORMAT_NV24_BL16 VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 444, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)
258 #define VPI_IMAGE_FORMAT_NV24_ER VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 444, PL, UNSIGNED, XYZ0, X8, X8_Y8)
259 
267 #define VPI_IMAGE_FORMAT_NV24_ER_BL VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 444, BL, UNSIGNED, XYZ0, X8, X8_Y8)
268 #define VPI_IMAGE_FORMAT_NV24_ER_BL16 \
269  VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 444, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)
273 #define VPI_IMAGE_FORMAT_UYVY VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, PL, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
274 
276 #define VPI_IMAGE_FORMAT_UYVY_BL VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, BL, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
277 #define VPI_IMAGE_FORMAT_UYVY_BL16 VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, BLOCK16_LINEAR, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
281 #define VPI_IMAGE_FORMAT_UYVY_ER VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, PL, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
282 
284 #define VPI_IMAGE_FORMAT_UYVY_ER_BL VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, BL, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
285 #define VPI_IMAGE_FORMAT_UYVY_ER_BL16 \
286  VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, BLOCK16_LINEAR, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
292 #define VPI_IMAGE_FORMAT_YUYV VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, PL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
293 
297 #define VPI_IMAGE_FORMAT_YUYV_BL VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, BL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
298 #define VPI_IMAGE_FORMAT_YUYV_BL16 VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, BLOCK16_LINEAR, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
304 #define VPI_IMAGE_FORMAT_YUYV_ER VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, PL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
305 
309 #define VPI_IMAGE_FORMAT_YUYV_ER_BL VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, BL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
310 #define VPI_IMAGE_FORMAT_YUYV_ER_BL16 \
311  VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, BLOCK16_LINEAR, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
315 #define VPI_IMAGE_FORMAT_RGB8 VPI_DETAIL_MAKE_COLOR_FMT1(RGB, UNDEFINED, PL, UNSIGNED, XYZ1, X8_Y8_Z8)
316 
318 #define VPI_IMAGE_FORMAT_BGR8 VPI_DETAIL_MAKE_COLOR_FMT1(RGB, UNDEFINED, PL, UNSIGNED, ZYX1, X8_Y8_Z8)
319 
321 #define VPI_IMAGE_FORMAT_RGBA8 VPI_DETAIL_MAKE_COLOR_FMT1(RGB, UNDEFINED, PL, UNSIGNED, XYZW, X8_Y8_Z8_W8)
322 
324 #define VPI_IMAGE_FORMAT_BGRA8 VPI_DETAIL_MAKE_COLOR_FMT1(RGB, UNDEFINED, PL, UNSIGNED, ZYXW, X8_Y8_Z8_W8)
325 
327 #define VPI_IMAGE_FORMAT_RGB8p VPI_DETAIL_MAKE_COLOR_FMT3(RGB, UNDEFINED, PL, UNSIGNED, XYZ1, X8, X8, X8)
328 
330 #define VPI_IMAGE_FORMAT_BGR8p VPI_DETAIL_MAKE_COLOR_FMT3(RGB, UNDEFINED, PL, UNSIGNED, ZYX1, X8, X8, X8)
331 
333 #define VPI_IMAGE_FORMAT_RGBA8p VPI_DETAIL_MAKE_COLOR_FMT4(RGB, UNDEFINED, PL, UNSIGNED, XYZW, X8, X8, X8, X8)
334 
336 #define VPI_IMAGE_FORMAT_BGRA8p VPI_DETAIL_MAKE_COLOR_FMT4(RGB, UNDEFINED, PL, UNSIGNED, ZYXW, X8, X8, X8, X8)
337 
358 #ifdef VPI_DOXYGEN
359 # define VPI_MAKE_YCbCr_IMAGE_FORMAT_ABBREV(colorSpec, chromaSubsamp, memLayout, dataType, swizzle, numPlanes, \
360  packing0, packing1, ...)
361 #else
362 # define VPI_MAKE_YCbCr_IMAGE_FORMAT_ABBREV (VPIImageFormat) VPI_DETAIL_MAKE_YCbCr_FMT
363 #endif
364 
387 #ifdef VPI_DOXYGEN
388 # define VPI_MAKE_YCbCr_IMAGE_FORMAT(colorModel, colorSpec, chromaSubsamp, memLayout, dataType, swizzle, numPlanes, \
389  packing0, packing1, ...)
390 #else
391 # define VPI_MAKE_YCbCr_IMAGE_FORMAT (VPIImageFormat) VPI_DETAIL_MAKE_YCbCr_FORMAT
392 #endif
393 
416 #ifdef VPI_DOXYGEN
417 # define VPI_MAKE_COLOR_IMAGE_FORMAT_ABBREV(colorModel, colorSpec, memLayout, dataType, swizzle, numPlanes, \
418  packing0, packing1, ...)
419 #else
420 # define VPI_MAKE_COLOR_IMAGE_FORMAT_ABBREV (VPIImageFormat) VPI_DETAIL_MAKE_COLOR_FMT
421 #endif
422 
446 #ifdef VPI_DOXYGEN
447 # define VPI_MAKE_COLOR_IMAGE_FORMAT(colorModel, colorSpec, memLayout, dataType, swizzle, numPlanes, packing0, \
448  packing1, ...)
449 #else
450 # define VPI_MAKE_COLOR_IMAGE_FORMAT (VPIImageFormat) VPI_DETAIL_MAKE_COLOR_FORMAT
451 #endif
452 
471 #ifdef VPI_DOXYGEN
472 # define VPI_MAKE_NONCOLOR_IMAGE_FORMAT_ABBREV(memLayout, dataType, swizzle, numPlanes, packing0, packing1, ...)
473 #else
474 # define VPI_MAKE_NONCOLOR_IMAGE_FORMAT_ABBREV (VPIImageFormat) VPI_DETAIL_MAKE_NONCOLOR_FMT
475 #endif
476 
494 #ifdef VPI_DOXYGEN
495 # define VPI_MAKE_NONCOLOR_IMAGE_FORMAT(memLayout, dataType, swizzle, numPlanes, packing0, packing1, ...)
496 #else
497 # define VPI_MAKE_NONCOLOR_IMAGE_FORMAT (VPIImageFormat) VPI_DETAIL_MAKE_NONCOLOR_FORMAT
498 #endif
499 
518 #ifdef VPI_DOXYGEN
519 # define VPI_MAKE_RAW_IMAGE_FORMAT_ABBREV(rawPattern, memLayout, dataType, numPlanes, swizzle, packing)
520 #else
521 # define VPI_MAKE_RAW_IMAGE_FORMAT_ABBREV (VPIImageFormat) VPI_DETAIL_MAKE_RAW_FMT
522 #endif
523 
542 #ifdef VPI_DOXYGEN
543 # define VPI_MAKE_RAW_IMAGE_FORMAT(rawPattern, memLayout, dataType, numPlanes, swizzle, packing)
544 #else
545 # define VPI_MAKE_RAW_IMAGE_FORMAT (VPIImageFormat) VPI_DETAIL_MAKE_RAW_FORMAT
546 #endif
547 
570  VPIMemLayout memLayout, VPIDataType dataType, VPISwizzle swizzle,
571  VPIPacking packing0, VPIPacking packing1, VPIPacking packing2,
572  VPIPacking packing3);
573 
601  VPIMemLayout memLayout, VPIDataType dataType, VPISwizzle swizzle,
550 #else
551 # define VPI_MAKE_RAW_IMAGE_FORMAT (VPIImageFormat) VPI_DETAIL_MAKE_RAW_FORMAT
552 #endif
553 
576  VPIMemLayout memLayout, VPIDataType dataType, VPISwizzle swizzle,
577  VPIPacking packing0, VPIPacking packing1, VPIPacking packing2,
578  VPIPacking packing3);
579 
607  VPIMemLayout memLayout, VPIDataType dataType, VPISwizzle swizzle,
608  VPIPacking packing0, VPIPacking packing1, VPIPacking packing2,
609  VPIPacking packing3);
610 
631  VPIPacking packing0, VPIPacking packing1, VPIPacking packing2,
632  VPIPacking packing3);
633 
654 VPI_PUBLIC VPIImageFormat vpiMakeRawImageFormat(VPIRawPattern rawPattern, VPIMemLayout memLayout, VPIDataType dataType,
655  VPISwizzle swizzle, VPIPacking packing0, VPIPacking packing1,
656  VPIPacking packing2, VPIPacking packing3);
657 
670 VPI_PUBLIC VPIImageFormat vpiMakeImageFormatFromFourCC(uint32_t fourcc, VPIColorSpec colorSpec, VPIMemLayout memLayout);
671 
680 VPI_PUBLIC uint32_t vpiImageFormatGetFourCC(VPIImageFormat fmt);
681 
694 
709 VPI_PUBLIC int32_t vpiImageFormatGetPlaneWidth(VPIImageFormat fmt, int32_t imgWidth, int plane);
710 
725 VPI_PUBLIC int32_t vpiImageFormatGetPlaneHeight(VPIImageFormat fmt, int32_t imgHeight, int plane);
726 
749  VPIPacking packing0, VPIPacking packing1,
750  VPIPacking packing2, VPIPacking packing3);
751 
763 VPI_PUBLIC int vpiImageFormatGetPlaneBitsPerPixel(VPIImageFormat fmt, int plane);
764 
776 
786 
796 
810 
822 
832 
848 
859 
869 
884 
894 
903 VPI_PUBLIC int vpiImageFormatGetPlaneChannelCount(VPIImageFormat fmt, int plane);
904 
912 
920 
928 VPI_PUBLIC void vpiImageFormatGetBitsPerChannel(VPIImageFormat fmt, int32_t *bits);
929 
942 
955 
980  VPIImageFormat plane2, VPIImageFormat plane3);
981 
990 VPI_PUBLIC const char *vpiImageFormatGetName(VPIImageFormat fmt);
991 
1002 
1015 
1035 
1038 #ifdef __cplusplus
1039 }
1040 #endif
1041 
1042 #endif /* NV_VPI_IMAGE_FORMAT_H */
定义用于处理颜色规格的类型和函数。
定义用于处理数据布局的类型和函数。
VPIPixelType vpiImageFormatGetPlanePixelType(VPIImageFormat fmt, int plane)
获取图像格式平面的像素类型。
int32_t vpiImageFormatGetPlaneWidth(VPIImageFormat fmt, int32_t imgWidth, int plane)
获取给定图像格式和宽度的图像的平面宽度。
VPIChromaSubsampling vpiImageFormatGetChromaSubsampling(VPIImageFormat fmt)
获取图像格式的色度二次采样类型。
VPIImageFormat vpiImageFormatGetPlaneFormat(VPIImageFormat fmt, int plane)
获取图像格式的平面格式。
int vpiImageFormatHasSameDataLayout(VPIImageFormat a, VPIImageFormat b)
返回图像格式是否具有相同的数据布局。
VPIMemLayout vpiImageFormatGetMemLayout(VPIImageFormat fmt)
获取图像格式的内存布局。
VPIPacking vpiImageFormatGetPlanePacking(VPIImageFormat fmt, int plane)
获取给定图像格式平面的 packing。
VPISwizzle vpiImageFormatGetPlaneSwizzle(VPIImageFormat fmt, int plane)
获取给定图像格式平面的 swizzle 操作。
int32_t vpiImageFormatGetPlaneHeight(VPIImageFormat fmt, int32_t imgHeight, int plane)
获取给定图像格式和高度的图像的平面高度。
VPIImageFormat vpiImageFormatSetMemLayout(VPIImageFormat fmt, VPIMemLayout memLayout)
设置图像格式的内存布局。
VPIImageFormat vpiImageFormatSetDataType(VPIImageFormat fmt, VPIDataType dataType)
设置图像格式的数据类型。
VPIImageFormat vpiMakeYCbCrImageFormat(VPIColorSpec colorSpec, VPIChromaSubsampling chromaSub, VPIMemLayout memLayout, VPIDataType dataType, VPISwizzle swizzle, VPIPacking packing0, VPIPacking packing1, VPIPacking packing2, VPIPacking packing3)
创建用户定义的 YCbCr 彩色图像格式。
VPIColorSpec vpiImageFormatGetColorSpec(VPIImageFormat fmt)
获取图像格式的颜色标准。
int vpiImageFormatGetChannelCount(VPIImageFormat fmt)
获取图像格式的通道总数。
VPIImageFormat vpiMakeImageFormatFromPlanes(VPIImageFormat plane0, VPIImageFormat plane1, VPIImageFormat plane2, VPIImageFormat plane3)
根据每个平面的格式构建图像格式。
VPIImageFormat vpiImageFormatSetRawPattern(VPIImageFormat fmt, VPIRawPattern rawPattern)
设置图像格式的原始颜色模式。
VPIImageFormat vpiMakeImageFormatFromFourCC(uint32_t fourcc, VPIColorSpec colorSpec, VPIMemLayout memLayout)
从 FourCC 代码创建图像格式。
int vpiImageFormatGetPlaneBitsPerPixel(VPIImageFormat fmt, int plane)
获取图像格式平面的每像素位数计数。
VPIDataType vpiImageFormatGetDataType(VPIImageFormat fmt)
获取图像格式的数据类型。
VPIImageFormat vpiImageFormatSetSwizzleAndPacking(VPIImageFormat fmt, VPISwizzle swizzle, VPIPacking packing0, VPIPacking packing1, VPIPacking packing2, VPIPacking packing3)
替换现有图像格式的 swizzle 和 packing。
VPIRawPattern vpiImageFormatGetRawPattern(VPIImageFormat fmt)
返回图像格式的原始颜色模式。
VPIImageFormat vpiImageFormatSetColorSpec(VPIImageFormat fmt, VPIColorSpec colorSpec)
设置图像格式的颜色标准。
VPIImageFormat vpiMakeColorImageFormat(VPIColorModel colorModel, VPIColorSpec colorSpec, VPIMemLayout memLayout, VPIDataType dataType, VPISwizzle swizzle, VPIPacking packing0, VPIPacking packing1, VPIPacking packing2, VPIPacking packing3)
创建用户定义的彩色图像格式。
int vpiImageFormatGetPlaneChannelCount(VPIImageFormat fmt, int plane)
获取图像格式平面中的通道数。
VPIImageFormat vpiImageFormatSetChromaSubsampling(VPIImageFormat fmt, VPIChromaSubsampling css)
设置图像格式的色度二次采样类型。
VPISwizzle vpiImageFormatGetSwizzle(VPIImageFormat fmt)
获取图像格式的通道 swizzle 操作。
VPIImageFormat vpiMakeNonColorImageFormat(VPIMemLayout memLayout, VPIDataType dataType, VPISwizzle swizzle, VPIPacking packing0, VPIPacking packing1, VPIPacking packing2, VPIPacking packing3)
创建用户定义的非彩色图像格式。
VPIImageFormat vpiMakeRawImageFormat(VPIRawPattern rawPattern, VPIMemLayout memLayout, VPIDataType dataType, VPISwizzle swizzle, VPIPacking packing0, VPIPacking packing1, VPIPacking packing2, VPIPacking packing3)
创建用户定义的原始图像格式。
VPIColorModel vpiImageFormatGetColorModel(VPIImageFormat fmt)
获取图像格式的颜色模型。
void vpiImageFormatGetBitsPerChannel(VPIImageFormat fmt, int32_t *bits)
获取图像格式的每个通道的位大小。
const char * vpiImageFormatGetName(VPIImageFormat fmt)
返回图像格式的字符串表示形式。
int vpiImageFormatGetPlaneCount(VPIImageFormat fmt)
获取图像格式的平面数量。
uint32_t vpiImageFormatGetFourCC(VPIImageFormat fmt)
返回与图像格式对应的 FourCC 代码。
定义用于处理像素类型的类型和函数。
VPIColorSpec
颜色规格定义。
Definition: ColorSpec.h:162
VPIRawPattern
定义 RAW 颜色模型使用的拜耳模式。
Definition: ColorSpec.h:303
VPIColorModel
定义颜色模型。
Definition: ColorSpec.h:77
VPIChromaSubsampling
定义如何进行色度二次采样。
Definition: ColorSpec.h:400
VPISwizzle
定义支持的通道 swizzle 操作。
Definition: DataLayout.h:342
VPIPacking
定义如何将通道打包到图像平面元素中。
Definition: DataLayout.h:133
VPIMemLayout
定义 2D 平面像素在内存中如何布局。
Definition: DataLayout.h:283
VPIDataType
定义通道数据类型。
Definition: DataLayout.h:265
uint64_t VPIPixelType
预定义的像素类型。
Definition: PixelType.h:78
uint64_t VPIImageFormat
预定义的图像格式。
Definition: ImageFormat.h:94