VPI - 视觉编程接口

3.2 版本

ImageFormat.h 文件参考

定义用于处理图像格式的类型和函数。 更多...

#include "ColorSpec.h"
#include "DataLayout.h"
#include "PixelType.h"
#include <assert.h>
+ ImageFormat.h 的包含依赖关系图
+ 此图显示哪些文件直接或间接地包含了此文件

转到此文件的源代码。

#define VPI_IMAGE_FORMAT_S8   VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, SIGNED, X000, X8)
 单平面,带有一个 8 位有符号整数通道。
 
#define VPI_IMAGE_FORMAT_U16   VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, UNSIGNED, X000, X16)
 单平面,带有一个 16 位无符号整数通道。
 
#define VPI_IMAGE_FORMAT_U32   VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, UNSIGNED, X000, X32)
 单平面,带有一个 32 位无符号整数通道。
 
#define VPI_IMAGE_FORMAT_S32   VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, SIGNED, X000, X32)
 单平面,带有一个 32 位有符号整数通道。
 
#define VPI_IMAGE_FORMAT_S16   VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, SIGNED, X000, X16)
 单平面,带有一个 16 位有符号整数通道。
 
#define VPI_IMAGE_FORMAT_2S16   VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, SIGNED, XY00, X16_Y16)
 单平面,带有两个交错的 16 位有符号整数通道。
 
#define VPI_IMAGE_FORMAT_F32   VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, FLOAT, X000, X32)
 单平面,带有一个 32 位浮点通道。
 
#define VPI_IMAGE_FORMAT_F64   VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, FLOAT, X000, X64)
 单平面,带有一个 64 位浮点通道。
 
#define VPI_IMAGE_FORMAT_2F32   VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, FLOAT, XY00, X32_Y32)
 单平面,带有两个交错的 32 位浮点通道。
 
#define VPI_IMAGE_FORMAT_Y8   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, PL, UNSIGNED, X000, X8)
 单平面,带有一个行距线性 8 位无符号整数通道,具有有限范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_Y8_ER   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, PL, UNSIGNED, X000, X8)
 单平面,带有一个行距线性 8 位无符号整数通道,具有全范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_Y16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, PL, UNSIGNED, X000, X16)
 单平面,带有一个行距线性 16 位无符号整数通道,具有有限范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_Y16_ER   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, PL, UNSIGNED, X000, X16)
 单平面,带有一个行距线性 16 位无符号整数通道,具有全范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_NV12   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 420, PL, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV420sp 8 位行距线性格式,具有有限范围。 更多...
 
#define VPI_IMAGE_FORMAT_NV12_ER   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 420, PL, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV420sp 8 位行距线性格式,具有全范围。 更多...
 
#define VPI_IMAGE_FORMAT_NV24   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 444, PL, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV444sp 8 位行距线性格式,具有有限范围。 更多...
 
#define VPI_IMAGE_FORMAT_NV24_ER   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 444, PL, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV444sp 8 位行距线性格式,具有全范围。 更多...
 
#define VPI_IMAGE_FORMAT_UYVY   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, PL, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
 YUV422 8 位行距线性格式,在一个平面中,采用 UYVY 顺序和有限范围。
 
#define VPI_IMAGE_FORMAT_UYVY_ER   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, PL, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
 YUV422 8 位行距线性格式,在一个平面中,采用 UYVY 顺序和全范围。
 
#define VPI_IMAGE_FORMAT_YUYV   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, PL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
 YUV422 8 位行距线性格式,在一个平面中,采用 YUYV 顺序和有限范围。 更多...
 
#define VPI_IMAGE_FORMAT_YUYV_ER   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, PL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
 YUV422 8 位行距线性格式,在一个平面中,采用 YUYV 顺序和全范围。 更多...
 
#define VPI_IMAGE_FORMAT_RGB8   VPI_DETAIL_MAKE_COLOR_FMT1(RGB, UNDEFINED, PL, UNSIGNED, XYZ1, X8_Y8_Z8)
 单平面,带有交错的 RGB 8 位通道。
 
#define VPI_IMAGE_FORMAT_BGR8   VPI_DETAIL_MAKE_COLOR_FMT1(RGB, UNDEFINED, PL, UNSIGNED, ZYX1, X8_Y8_Z8)
 单平面,带有交错的 BGR 8 位通道。
 
#define VPI_IMAGE_FORMAT_RGBA8   VPI_DETAIL_MAKE_COLOR_FMT1(RGB, UNDEFINED, PL, UNSIGNED, XYZW, X8_Y8_Z8_W8)
 单平面,带有交错的 RGBA 8 位通道。
 
#define VPI_IMAGE_FORMAT_BGRA8   VPI_DETAIL_MAKE_COLOR_FMT1(RGB, UNDEFINED, PL, UNSIGNED, ZYXW, X8_Y8_Z8_W8)
 单平面,带有交错的 BGRA 8 位通道。
 
#define VPI_IMAGE_FORMAT_RGB8p   VPI_DETAIL_MAKE_COLOR_FMT3(RGB, UNDEFINED, PL, UNSIGNED, XYZ1, X8, X8, X8)
 平面 RGB,带有无符号 8 位通道。
 
#define VPI_IMAGE_FORMAT_BGR8p   VPI_DETAIL_MAKE_COLOR_FMT3(RGB, UNDEFINED, PL, UNSIGNED, ZYX1, X8, X8, X8)
 平面 BGR,带有无符号 8 位通道。
 
#define VPI_IMAGE_FORMAT_RGBA8p   VPI_DETAIL_MAKE_COLOR_FMT4(RGB, UNDEFINED, PL, UNSIGNED, XYZW, X8, X8, X8, X8)
 平面 RGBA,带有无符号 8 位通道。
 
#define VPI_IMAGE_FORMAT_BGRA8p   VPI_DETAIL_MAKE_COLOR_FMT4(RGB, UNDEFINED, PL, UNSIGNED, ZYXW, X8, X8, X8, X8)
 平面 BGRA,带有无符号 8 位通道。
 
#define VPI_MAKE_YCbCr_IMAGE_FORMAT_ABBREV(colorSpec, chromaSubsamp, memLayout, dataType, swizzle, numPlanes, packing0, packing1, ...)
 使用缩写参数创建用户自定义的 YCbCr 颜色图像格式常量。 更多...
 
#define VPI_MAKE_YCbCr_IMAGE_FORMAT(colorModel, colorSpec, chromaSubsamp, memLayout, dataType, swizzle, numPlanes, packing0, packing1, ...)
 创建用户自定义的 YCbCr 颜色图像格式常量。 更多...
 
#define VPI_MAKE_COLOR_IMAGE_FORMAT_ABBREV(colorModel, colorSpec, memLayout, dataType, swizzle, numPlanes, packing0, packing1, ...)
 使用缩写参数创建用户自定义的颜色图像格式常量。 更多...
 
#define VPI_MAKE_COLOR_IMAGE_FORMAT(colorModel, colorSpec, memLayout, dataType, swizzle, numPlanes, packing0, packing1, ...)
 创建用户自定义的颜色图像格式常量。 更多...
 
#define VPI_MAKE_NONCOLOR_IMAGE_FORMAT_ABBREV(memLayout, dataType, swizzle, numPlanes, packing0, packing1, ...)
 使用缩写参数创建用户自定义的非彩色图像格式常量。 更多...
 
#define VPI_MAKE_NONCOLOR_IMAGE_FORMAT(memLayout, dataType, swizzle, numPlanes, packing0, packing1, ...)
 创建用户自定义的非彩色图像格式常量。 更多...
 
#define VPI_MAKE_RAW_IMAGE_FORMAT_ABBREV(rawPattern, memLayout, dataType, numPlanes, swizzle, packing)
 使用缩写参数创建用户自定义的原始(拜耳模式)图像格式常量。 更多...
 
#define VPI_MAKE_RAW_IMAGE_FORMAT(rawPattern, memLayout, dataType, numPlanes, swizzle, packing)
 创建用户自定义的原始(拜耳模式)图像格式常量。 更多...
 
#define VPI_IMAGE_FORMAT_S16_BL   VPI_DETAIL_MAKE_NONCOLOR_FMT1(BL, SIGNED, X000, X16)
 单平面,带有一个块线性 16 位有符号整数通道。
 
#define VPI_IMAGE_FORMAT_S16_BL16   VPI_DETAIL_MAKE_NONCOLOR_FMT1(BLOCK16_LINEAR, SIGNED, X000, X16)
 单平面,带有一个块线性 16 位有符号整数通道。
 
#define VPI_IMAGE_FORMAT_2S16_BL   VPI_DETAIL_MAKE_NONCOLOR_FMT1(BL, SIGNED, XY00, X16_Y16)
 单平面,带有两个交错的块线性 16 位有符号整数通道。
 
#define VPI_IMAGE_FORMAT_2S16_BL16   VPI_DETAIL_MAKE_NONCOLOR_FMT1(BLOCK16_LINEAR, SIGNED, XY00, X16_Y16)
 单平面,带有两个交错的块线性 16 位有符号整数通道。
 
#define VPI_IMAGE_FORMAT_Y8_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BL, UNSIGNED, X000, X8)
 单平面,带有一个块线性 8 位无符号整数通道,具有有限范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_Y8_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X8)
 单平面,带有一个块线性 8 位无符号整数通道,具有有限范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_Y8_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BL, UNSIGNED, X000, X8)
 单平面,带有一个块线性 8 位无符号整数通道,具有全范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_Y8_ER_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X8)
 单平面,带有一个块线性 8 位无符号整数通道,具有全范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_Y16_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BL, UNSIGNED, X000, X16)
 单平面,带有一个块线性 16 位无符号整数通道,具有有限范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_Y16_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X16)
 单平面,带有一个块线性 16 位无符号整数通道,具有有限范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_Y16_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BL, UNSIGNED, X000, X16)
 单平面,带有一个块线性 16 位无符号整数通道,具有全范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_Y16_ER_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X16)
 单平面,带有一个块线性 16 位无符号整数通道,具有全范围的亮度(灰度)信息。 更多...
 
#define VPI_IMAGE_FORMAT_NV12_BL   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 420, BL, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV420sp 8 位块线性格式,具有有限范围。 更多...
 
#define VPI_IMAGE_FORMAT_NV12_BL16   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 420, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV420sp 8 位块线性格式,具有有限范围。 更多...
 
#define VPI_IMAGE_FORMAT_NV12_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 420, BL, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV420sp 8 位块线性格式,具有全范围。 更多...
 
#define VPI_IMAGE_FORMAT_NV12_ER_BL16    VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 420, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV420sp 8 位块线性格式,具有全范围。 更多...
 
#define VPI_IMAGE_FORMAT_NV24_BL   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 444, BL, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV444sp 8 位块线性格式,具有有限范围。 更多...
 
#define VPI_IMAGE_FORMAT_NV24_BL16   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 444, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV444sp 8 位块线性格式,具有有限范围。 更多...
 
#define VPI_IMAGE_FORMAT_NV24_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 444, BL, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV444sp 8 位块线性格式,具有全范围。 更多...
 
#define VPI_IMAGE_FORMAT_NV24_ER_BL16    VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 444, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)
 YUV444sp 8 位块线性格式,具有全范围。 更多...
 
#define VPI_IMAGE_FORMAT_UYVY_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, BL, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
 YUV422 8 位块线性格式,在一个平面中,采用 UYVY 顺序和有限范围。
 
#define VPI_IMAGE_FORMAT_UYVY_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, BLOCK16_LINEAR, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
 YUV422 8 位块线性格式,在一个平面中,采用 UYVY 顺序和有限范围。
 
#define VPI_IMAGE_FORMAT_UYVY_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, BL, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
 YUV422 8 位块线性格式,在一个平面中,采用 UYVY 顺序和全范围。
 
#define VPI_IMAGE_FORMAT_UYVY_ER_BL16    VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, BLOCK16_LINEAR, UNSIGNED, XYZ1, Y8_X8__Z8_X8)
 YUV422 8 位块线性格式,在一个平面中,采用 UYVY 顺序和全范围。
 
#define VPI_IMAGE_FORMAT_YUYV_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, BL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
 YUV422 8 位块线性格式,在一个平面中,采用 YUYV 顺序和有限范围。 更多...
 
#define VPI_IMAGE_FORMAT_YUYV_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, BLOCK16_LINEAR, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
 YUV422 8 位块线性格式,在一个平面中,采用 YUYV 顺序和有限范围。 更多...
 
#define VPI_IMAGE_FORMAT_YUYV_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, BL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
 YUV422 8 位块线性格式,在一个平面中,采用 YUYV 顺序和全范围。 更多...
 
#define VPI_IMAGE_FORMAT_YUYV_ER_BL16    VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, BLOCK16_LINEAR, UNSIGNED, XYZ1, X8_Y8__X8_Z8)
 YUV422 8 位块线性格式,在一个平面中,采用 YUYV 顺序和全范围。 更多...
 

函数

VPIImageFormat vpiMakeYCbCrImageFormat (VPIColorSpec colorSpec, VPIChromaSubsampling chromaSub, VPIMemLayout memLayout, VPIDataType dataType, VPISwizzle swizzle, VPIPacking packing0, VPIPacking packing1, VPIPacking packing2, VPIPacking packing3)
 创建用户自定义的 YCbCr 颜色图像格式。 更多...
 
VPIImageFormat vpiMakeColorImageFormat (VPIColorModel colorModel, VPIColorSpec colorSpec, VPIMemLayout memLayout, VPIDataType dataType, VPISwizzle swizzle, VPIPacking packing0, VPIPacking packing1, VPIPacking packing2, VPIPacking packing3)
 创建用户自定义的颜色图像格式。 更多...
 
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)
 创建用户自定义的原始图像格式。 更多...
 
VPIImageFormat vpiMakeImageFormatFromFourCC (uint32_t fourcc, VPIColorSpec colorSpec, VPIMemLayout memLayout)
 从 FourCC 代码创建图像格式。 更多...
 
uint32_t vpiImageFormatGetFourCC (VPIImageFormat fmt)
 返回与图像格式对应的 FourCC 代码。 更多...
 
VPIPacking vpiImageFormatGetPlanePacking (VPIImageFormat fmt, int plane)
 获取给定图像格式的平面的 packing。 更多...
 
int32_t vpiImageFormatGetPlaneWidth (VPIImageFormat fmt, int32_t imgWidth, int plane)
 获取具有给定图像格式和宽度的图像的平面宽度。 更多...
 
int32_t vpiImageFormatGetPlaneHeight (VPIImageFormat fmt, int32_t imgHeight, int plane)
 获取具有给定图像格式和高度的图像的平面高度。 更多...
 
VPIImageFormat vpiImageFormatSetSwizzleAndPacking (VPIImageFormat fmt, VPISwizzle swizzle, VPIPacking packing0, VPIPacking packing1, VPIPacking packing2, VPIPacking packing3)
 替换现有图像格式的 swizzle 和 packing。 更多...
 
int vpiImageFormatGetPlaneBitsPerPixel (VPIImageFormat fmt, int plane)
 获取图像格式的每个像素平面的位数计数。 更多...
 
VPIImageFormat vpiImageFormatSetDataType (VPIImageFormat fmt, VPIDataType dataType)
 设置图像格式的数据类型。 更多...
 
VPIDataType vpiImageFormatGetDataType (VPIImageFormat fmt)
 获取图像格式的数据类型。 更多...
 
VPISwizzle vpiImageFormatGetSwizzle (VPIImageFormat fmt)
 获取图像格式的通道 swizzle 操作。 更多...
 
VPISwizzle vpiImageFormatGetPlaneSwizzle (VPIImageFormat fmt, int plane)
 获取给定图像格式平面的 swizzle 操作。 更多...
 
VPIImageFormat vpiImageFormatSetMemLayout (VPIImageFormat fmt, VPIMemLayout memLayout)
 设置图像格式的内存布局。 更多...
 
VPIMemLayout vpiImageFormatGetMemLayout (VPIImageFormat fmt)
 获取图像格式的内存布局。 更多...
 
VPIImageFormat vpiImageFormatSetColorSpec (VPIImageFormat fmt, VPIColorSpec colorSpec)
 设置图像格式的颜色标准。 更多...
 
VPIColorSpec vpiImageFormatGetColorSpec (VPIImageFormat fmt)
 获取图像格式的颜色标准。 更多...
 
VPIColorModel vpiImageFormatGetColorModel (VPIImageFormat fmt)
 获取图像格式的颜色模型。 更多...
 
VPIImageFormat vpiImageFormatSetChromaSubsampling (VPIImageFormat fmt, VPIChromaSubsampling css)
 设置图像格式的色度子采样类型。 更多...
 
VPIChromaSubsampling vpiImageFormatGetChromaSubsampling (VPIImageFormat fmt)
 获取图像格式的色度子采样类型。 更多...
 
int vpiImageFormatGetPlaneChannelCount (VPIImageFormat fmt, int plane)
 获取图像格式的平面中的通道数。 更多...
 
int vpiImageFormatGetPlaneCount (VPIImageFormat fmt)
 获取图像格式的平面数。 更多...
 
int vpiImageFormatGetChannelCount (VPIImageFormat fmt)
 获取图像格式的通道总数。 更多...
 
void vpiImageFormatGetBitsPerChannel (VPIImageFormat fmt, int32_t *bits)
 获取每个通道的图像格式的位大小。 更多...
 
VPIPixelType vpiImageFormatGetPlanePixelType (VPIImageFormat fmt, int plane)
 获取图像格式的平面的像素类型。 更多...
 
VPIImageFormat vpiImageFormatGetPlaneFormat (VPIImageFormat fmt, int plane)
 获取图像格式的平面格式。 更多...
 
VPIImageFormat vpiMakeImageFormatFromPlanes (VPIImageFormat plane0, VPIImageFormat plane1, VPIImageFormat plane2, VPIImageFormat plane3)
 根据每个平面的格式构造图像格式。 更多...
 
const char * vpiImageFormatGetName (VPIImageFormat fmt)
 返回图像格式的字符串表示形式。 更多...
 
VPIRawPattern vpiImageFormatGetRawPattern (VPIImageFormat fmt)
 返回图像格式的原始颜色模式。 更多...
 
VPIImageFormat vpiImageFormatSetRawPattern (VPIImageFormat fmt, VPIRawPattern rawPattern)
 设置图像格式的原始颜色模式。 更多...
 
int vpiImageFormatHasSameDataLayout (VPIImageFormat a, VPIImageFormat b)
 返回图像格式是否具有相同的数据布局。 更多...
 
#define VPI_IMAGE_FORMAT_INVALID   ((VPIImageFormat)0)
 表示无效的图像格式。
 
#define VPI_IMAGE_FORMAT_U8   VPI_DETAIL_MAKE_NONCOLOR_FMT1(PL, UNSIGNED, X000, X8)
 单平面,带有一个 8 位无符号整数通道。
 
#define VPI_IMAGE_FORMAT_U8_BL   VPI_DETAIL_MAKE_NONCOLOR_FMT1(BL, UNSIGNED, X000, X8)
 单平面,带有一个块线性 8 位无符号整数通道。
 
#define VPI_IMAGE_FORMAT_U8_BL16   VPI_DETAIL_MAKE_NONCOLOR_FMT1(BLOCK16_LINEAR, UNSIGNED, X000, X8)
 表示无效的图像格式。
 
typedef uint64_t VPIImageFormat
 预定义的图像格式。 更多...
 

详细描述

定义用于处理图像格式的类型和函数。

在文件 ImageFormat.h 中定义。

宏定义文档

◆ VPI_IMAGE_FORMAT_Y8

#define VPI_IMAGE_FORMAT_Y8   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, PL, UNSIGNED, X000, X8)

单平面,带有一个 pitch-linear 的 8 位无符号整数通道,包含有限范围的亮度(灰度)信息。

取值范围从 16 到 235。低于此范围被认为是黑色,高于此范围被认为是白色。

定义位于文件 147ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y8_BL

#define VPI_IMAGE_FORMAT_Y8_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BL, UNSIGNED, X000, X8)

单平面,带有一个 block-linear 的 8 位无符号整数通道,包含有限范围的亮度(灰度)信息。

取值范围从 16 到 235。低于此范围被认为是黑色,高于此范围被认为是白色。

定义位于文件 152ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y8_BL16

#define VPI_IMAGE_FORMAT_Y8_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X8)

单平面,带有一个 block-linear 的 8 位无符号整数通道,包含有限范围的亮度(灰度)信息。

取值范围从 16 到 235。低于此范围被认为是黑色,高于此范围被认为是白色。

定义位于文件 153ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y8_ER

#define VPI_IMAGE_FORMAT_Y8_ER   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, PL, UNSIGNED, X000, X8)

单平面,带有一个 pitch-linear 的 8 位无符号整数通道,包含全范围的亮度(灰度)信息。

取值范围从 0 到 255。

定义位于文件 159ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y8_ER_BL

#define VPI_IMAGE_FORMAT_Y8_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BL, UNSIGNED, X000, X8)

单平面,带有一个 block-linear 的 8 位无符号整数通道,包含全范围的亮度(灰度)信息。

取值范围从 0 到 255。

定义位于文件 164ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y8_ER_BL16

#define VPI_IMAGE_FORMAT_Y8_ER_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X8)

单平面,带有一个 block-linear 的 8 位无符号整数通道,包含全范围的亮度(灰度)信息。

取值范围从 0 到 255。

定义位于文件 165ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y16

#define VPI_IMAGE_FORMAT_Y16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, PL, UNSIGNED, X000, X16)

单平面,带有一个 pitch-linear 的 16 位无符号整数通道,包含有限范围的亮度(灰度)信息。

取值范围从 4096 到 60160。低于此范围被认为是黑色,高于此范围被认为是白色。

定义位于文件 171ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y16_BL

#define VPI_IMAGE_FORMAT_Y16_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BL, UNSIGNED, X000, X16)

单平面,带有一个 block-linear 的 16 位无符号整数通道,包含有限范围的亮度(灰度)信息。

取值范围从 4096 到 60160。低于此范围被认为是黑色,高于此范围被认为是白色。

定义位于文件 176ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y16_BL16

#define VPI_IMAGE_FORMAT_Y16_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X16)

单平面,带有一个 block-linear 的 16 位无符号整数通道,包含有限范围的亮度(灰度)信息。

取值范围从 4096 到 60160。低于此范围被认为是黑色,高于此范围被认为是白色。

定义位于文件 177ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y16_ER

#define VPI_IMAGE_FORMAT_Y16_ER   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, PL, UNSIGNED, X000, X16)

单平面,带有一个 pitch-linear 的 16 位无符号整数通道,包含全范围的亮度(灰度)信息。

取值范围从 0 到 65535。

定义位于文件 183ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y16_ER_BL

#define VPI_IMAGE_FORMAT_Y16_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BL, UNSIGNED, X000, X16)

单平面,带有一个 block-linear 的 16 位无符号整数通道,包含全范围的亮度(灰度)信息。

取值范围从 0 到 65535。

定义位于文件 188ImageFormat.h

◆ VPI_IMAGE_FORMAT_Y16_ER_BL16

#define VPI_IMAGE_FORMAT_Y16_ER_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, NONE, BLOCK16_LINEAR, UNSIGNED, X000, X16)

单平面,带有一个 block-linear 的 16 位无符号整数通道,包含全范围的亮度(灰度)信息。

取值范围从 0 到 65535。

定义位于文件 189ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV12

#define VPI_IMAGE_FORMAT_NV12   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 420, PL, UNSIGNED, XYZ0, X8, X8_Y8)

YUV420sp 8 位 pitch-linear 格式,具有有限范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 16 到 235。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 16 到 240。分辨率是亮度平面的一半,水平和垂直方向都是如此。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 200ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV12_BL

#define VPI_IMAGE_FORMAT_NV12_BL   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 420, BL, UNSIGNED, XYZ0, X8, X8_Y8)

YUV420sp 8 位 block-linear 格式,具有有限范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 16 到 235。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 0 到 255。分辨率是亮度平面的一半,水平和垂直方向都是如此。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 210ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV12_BL16

#define VPI_IMAGE_FORMAT_NV12_BL16   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 420, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)

YUV420sp 8 位 block-linear 格式,具有有限范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 16 到 235。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 0 到 255。分辨率是亮度平面的一半,水平和垂直方向都是如此。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 211ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV12_ER

#define VPI_IMAGE_FORMAT_NV12_ER   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 420, PL, UNSIGNED, XYZ0, X8, X8_Y8)

YUV420sp 8 位 pitch-linear 格式,具有全范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 0 到 255。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 0 到 255。分辨率是亮度平面的一半,水平和垂直方向都是如此。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 222ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV12_ER_BL

#define VPI_IMAGE_FORMAT_NV12_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 420, BL, UNSIGNED, XYZ0, X8, X8_Y8)

YUV420sp 8 位 block-linear 格式,具有全范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 0 到 255。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 0 到 255。分辨率是亮度平面的一半,水平和垂直方向都是如此。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 232ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV12_ER_BL16

#define VPI_IMAGE_FORMAT_NV12_ER_BL16    VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 420, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)

YUV420sp 8 位 block-linear 格式,具有全范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 0 到 255。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 0 到 255。分辨率是亮度平面的一半,水平和垂直方向都是如此。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 233ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV24

#define VPI_IMAGE_FORMAT_NV24   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 444, PL, UNSIGNED, XYZ0, X8, X8_Y8)

YUV444sp 8 位 pitch-linear 格式,具有有限范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 16 到 235。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 16 到 240。它与亮度平面具有相同的分辨率。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 244ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV24_BL

#define VPI_IMAGE_FORMAT_NV24_BL   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 444, BL, UNSIGNED, XYZ0, X8, X8_Y8)

YUV444sp 8 位 block-linear 格式,具有有限范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 16 到 235。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 0 到 255。它与亮度平面具有相同的分辨率。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 253ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV24_BL16

#define VPI_IMAGE_FORMAT_NV24_BL16   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601, 444, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)

YUV444sp 8 位 block-linear 格式,具有有限范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 16 到 235。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 0 到 255。它与亮度平面具有相同的分辨率。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 254ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV24_ER

#define VPI_IMAGE_FORMAT_NV24_ER   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 444, PL, UNSIGNED, XYZ0, X8, X8_Y8)

YUV444sp 8 位 pitch-linear 格式,具有全范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 0 到 255。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 0 到 255。它与亮度平面具有相同的分辨率。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 264ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV24_ER_BL

#define VPI_IMAGE_FORMAT_NV24_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 444, BL, UNSIGNED, XYZ0, X8, X8_Y8)

YUV444sp 8 位 block-linear 格式,具有全范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 0 到 255。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 0 到 255。它与亮度平面具有相同的分辨率。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 273ImageFormat.h

◆ VPI_IMAGE_FORMAT_NV24_ER_BL16

#define VPI_IMAGE_FORMAT_NV24_ER_BL16    VPI_DETAIL_MAKE_YCbCr_FMT2(BT601_ER, 444, BLOCK16_LINEAR, UNSIGNED, XYZ0, X8, X8_Y8)

YUV444sp 8 位 block-linear 格式,具有全范围。

格式由两个平面组成

  1. 一个 8 位通道,带有亮度 (Y')。取值范围从 0 到 255。
  2. 两个交错的 8 位通道,带有色度 (Cb,Cr)。取值范围从 0 到 255。它与亮度平面具有相同的分辨率。对于给定的像素,Cb 通道的内存地址低于 Cr。

定义位于文件 274ImageFormat.h

◆ VPI_IMAGE_FORMAT_YUYV

#define VPI_IMAGE_FORMAT_YUYV   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, PL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)

YUV422 8 位 pitch-linear 格式,在一个平面中,具有 YUYV 顺序和有限范围。

也称为 YUY2 格式。

定义位于文件 298ImageFormat.h

◆ VPI_IMAGE_FORMAT_YUYV_BL

#define VPI_IMAGE_FORMAT_YUYV_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, BL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)

YUV422 8 位 block-linear 格式,在一个平面中,具有 YUYV 顺序和有限范围。

也称为 YUY2 格式。

定义位于文件 303ImageFormat.h

◆ VPI_IMAGE_FORMAT_YUYV_BL16

#define VPI_IMAGE_FORMAT_YUYV_BL16   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601, 422, BLOCK16_LINEAR, UNSIGNED, XYZ1, X8_Y8__X8_Z8)

YUV422 8 位 block-linear 格式,在一个平面中,具有 YUYV 顺序和有限范围。

也称为 YUY2 格式。

定义位于文件 304ImageFormat.h

◆ VPI_IMAGE_FORMAT_YUYV_ER

#define VPI_IMAGE_FORMAT_YUYV_ER   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, PL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)

YUV422 8 位 pitch-linear 格式,在一个平面中,具有 YUYV 顺序和全范围。

也称为 YUY2 格式。

定义位于文件 310ImageFormat.h

◆ VPI_IMAGE_FORMAT_YUYV_ER_BL

#define VPI_IMAGE_FORMAT_YUYV_ER_BL   VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, BL, UNSIGNED, XYZ1, X8_Y8__X8_Z8)

YUV422 8 位 block-linear 格式,在一个平面中,具有 YUYV 顺序和全范围。

也称为 YUY2 格式。

定义位于文件 315ImageFormat.h

◆ VPI_IMAGE_FORMAT_YUYV_ER_BL16

#define VPI_IMAGE_FORMAT_YUYV_ER_BL16    VPI_DETAIL_MAKE_YCbCr_FMT1(BT601_ER, 422, BLOCK16_LINEAR, UNSIGNED, XYZ1, X8_Y8__X8_Z8)

YUV422 8 位 block-linear 格式,在一个平面中,具有 YUYV 顺序和全范围。

也称为 YUY2 格式。

定义位于文件 316ImageFormat.h

◆ VPI_MAKE_YCbCr_IMAGE_FORMAT_ABBREV

#define VPI_MAKE_YCbCr_IMAGE_FORMAT_ABBREV (   colorSpec,
  chromaSubsamp,
  memLayout,
  dataType,
  swizzle,
  numPlanes,
  packing0,
  packing1,
  ... 
)

使用缩写参数创建用户自定义的 YCbCr 彩色图像格式常量。

此宏允许传递缩写的格式参数(不带参数类型前缀)。示例:创建 YUV422 ITU-R BT.709 工作室范围 block-linear 格式。

VPIImageFormat fmt = VPI_MAKE_YCbCr_IMAGE_FORMAT_ABBREV(BT709, 422, BL, UNSIGNED, XYZ0, 2, X8, X8_Y8);
#define VPI_MAKE_YCbCr_IMAGE_FORMAT_ABBREV(colorSpec, chromaSubsamp, memLayout, dataType, swizzle, numPlanes, packing0, packing1,...)
使用缩写参数创建用户自定义的 YCbCr 彩色图像格式常量。
uint64_t VPIImageFormat
预定义的图像格式。

第四个平面,packing3,必须最多为 64bpp。

参数
[输入]colorSpec要使用的 VPIColorSpec,不带 VPI_COLOR_SPEC_ 前缀。
[输入]chromaSubsamp要使用的 VPIChromaSubsampling,不带 VPI_CSS_ 前缀。
[输入]memLayout要使用的 VPIMemLayout,不带 VPI_MEM_LAYOUT_ 前缀。
[输入]dataType要使用的 VPIDataType,不带 VPI_DATA_TYPE_ 前缀。
[输入]swizzle要在通道上执行的 VPISwizzle 操作,不带 VPI_SWIZZLE_ 前缀。
[输入]numPlanes此格式拥有的平面数量。
[输入]packing0,packing1,...每个平面的格式 packing,不带 VPI_PACKING_ 前缀。
返回值
用户自定义的图像格式。

定义位于文件 365ImageFormat.h

◆ VPI_MAKE_YCbCr_IMAGE_FORMAT

#define VPI_MAKE_YCbCr_IMAGE_FORMAT (   colorModel,
  colorSpec,
  chromaSubsamp,
  memLayout,
  dataType,
  swizzle,
  numPlanes,
  packing0,
  packing1,
  ... 
)

创建用户自定义的 YCbCr 彩色图像格式常量。

示例:创建 YUV422R ITU-R BT.709 全范围,具有 SMPTE240M 传递函数,block-linear 格式。

#define VPI_MAKE_YCbCr_IMAGE_FORMAT(colorModel, colorSpec, chromaSubsamp, memLayout, dataType, swizzle, numPlanes, packing0, packing1,...)
创建用户自定义的 YCbCr 彩色图像格式常量。
#define VPI_MAKE_COLOR_SPEC_ABBREV(cspace, encoding, xferFunc, range, locHoriz, locVert)
使用缩写参数创建用户自定义的颜色规格常量。
定义: ColorSpec.h:256
@ VPI_CSS_422R
4:2:2R BT.601 子采样。
定义: ColorSpec.h:413
@ VPI_SWIZZLE_XYZ0
@ VPI_PACKING_X8
一个 8 位通道。
@ VPI_PACKING_X8_Y8
两个 8 位通道,在两个 8 位字中。
@ VPI_DATA_TYPE_UNSIGNED
通道是无符号整数值。

第四个平面 (packing3) 必须最多为 64bpp。

参数
[输入]colorModel要使用的 VPIColorModel
[输入]colorSpec要使用的 VPIColorSpec
[输入]chromaSubsamp要使用的 VPIChromaSubsampling
[输入]memLayout要使用的 VPIMemLayout
[输入]dataType要使用的 VPIDataType
[输入]swizzle要在通道上执行的 VPISwizzle 操作。
[输入]numPlanes此格式拥有的平面数量。
[输入]packing0,packing1,...每个平面的格式 packing。
返回值
用户自定义的图像格式。

定义位于文件 394ImageFormat.h

◆ VPI_MAKE_COLOR_IMAGE_FORMAT_ABBREV

#define VPI_MAKE_COLOR_IMAGE_FORMAT_ABBREV (   colorModel,
  colorSpec,
  memLayout,
  dataType,
  swizzle,
  numPlanes,
  packing0,
  packing1,
  ... 
)

使用缩写参数创建用户自定义的彩色图像格式常量。

此宏允许传递缩写的格式参数(不带参数类型前缀)。示例:创建 RGB 平面 ITU-R BT.709 工作室范围 block-linear 格式。

VPIImageFormat fmt = VPI_MAKE_COLOR_IMAGE_FORMAT_ABBREV(RGB, BT709, BL, UNSIGNED, XYZ0, 3, X8, X8, Y8);
#define VPI_MAKE_COLOR_IMAGE_FORMAT_ABBREV(colorModel, colorSpec, memLayout, dataType, swizzle, numPlanes, packing0, packing1,...)
使用缩写参数创建用户自定义的彩色图像格式常量。

如果颜色模型是 VPI_COLOR_MODEL_YCbCr,则假定色度子采样为 4:4:4,即 VPI_CSS_444

参数
[输入]colorModelVPIColorModel 要使用,不带 VPI_COLOR_MODEL_ 前缀。
[输入]colorSpec要使用的 VPIColorSpec,不带 VPI_COLOR_SPEC_ 前缀。
[输入]memLayout要使用的 VPIMemLayout,不带 VPI_MEM_LAYOUT_ 前缀。
[输入]dataType要使用的 VPIDataType,不带 VPI_DATA_TYPE_ 前缀。
[输入]swizzle要在通道上执行的 VPISwizzle 操作,不带 VPI_SWIZZLE_ 前缀。
[输入]numPlanes此格式拥有的平面数量。
[输入]packing0,packing1,...每个平面的格式 packing,不带 VPI_PACKING_ 前缀。
  • 第四个平面 (packing3) 必须最多为 64bpp。
返回值
用户自定义的图像格式。

定义位于文件 423ImageFormat.h

◆ VPI_MAKE_COLOR_IMAGE_FORMAT

#define VPI_MAKE_COLOR_IMAGE_FORMAT (   colorModel,
  colorSpec,
  memLayout,
  dataType,
  swizzle,
  numPlanes,
  packing0,
  packing1,
  ... 
)

创建用户自定义的彩色图像格式常量。

示例:创建 RGB 平面 ITU-R BT.709 全范围,具有 SMPTE240M 编码,block-linear 格式。

2, VPI_PACKING_X8, VPI_PACKING_X8, VPI_PACKING_Y8);
#define VPI_MAKE_COLOR_IMAGE_FORMAT(colorModel, colorSpec, memLayout, dataType, swizzle, numPlanes, packing0, packing1,...)
创建用户自定义的彩色图像格式常量。
@ VPI_COLOR_MODEL_RGB
红色、绿色、蓝色分量。
定义: ColorSpec.h:80
@ VPI_MEM_LAYOUT_BL

如果颜色模型是 VPI_COLOR_MODEL_YCbCr,则假定色度子采样为 4:4:4,即 VPI_CSS_444

参数
[输入]colorModel要使用的 VPIColorModel
[输入]colorSpec要使用的 VPIColorSpec
[输入]memLayout要使用的 VPIMemLayout
[输入]dataType要使用的 VPIDataType
[输入]swizzle要在通道上执行的 VPISwizzle 操作。
[输入]numPlanes此格式拥有的平面数量。
[输入]packing0,packing1,...每个平面的格式 packing。
  • 第四个平面 (packing3) 必须最多为 64bpp。
返回值
用户自定义的图像格式。

定义位于文件 453ImageFormat.h

◆ VPI_MAKE_NONCOLOR_IMAGE_FORMAT_ABBREV

#define VPI_MAKE_NONCOLOR_IMAGE_FORMAT_ABBREV (   memLayout,
  dataType,
  swizzle,
  numPlanes,
  packing0,
  packing1,
  ... 
)

使用缩写参数创建用户自定义的非彩色图像格式常量。

此宏允许传递缩写的格式参数(不带参数类型前缀)。

示例:创建 3 平面浮点 block-linear 图像,第 1 平面:8 位,第 2 平面:16 位,第 3 平面:32 位

VPIImageFormat fmt = VPI_MAKE_NONCOLOR_IMAGE_FORMAT_ABBREV(BL, UNSIGNED, 3, X8, X16, X32);
#define VPI_MAKE_NONCOLOR_IMAGE_FORMAT_ABBREV(memLayout, dataType, swizzle, numPlanes, packing0, packing1,...)
使用缩写参数创建用户自定义的非彩色图像格式常量。
参数
[输入]memLayout要使用的 VPIMemLayout,不带 VPI_MEM_LAYOUT_ 前缀。
[输入]dataType要使用的 VPIDataType,不带 VPI_DATA_TYPE_ 前缀。
[输入]swizzle要在通道上执行的 VPISwizzle 操作。
[输入]numPlanes此格式拥有的平面数量。
[输入]packing0,packing1,...每个平面的格式 packing,不带 VPI_PACKING_ 前缀。
  • 第四个平面 (packing3) 必须最多为 64bpp。
返回值
用户自定义的图像格式。

定义位于文件 478ImageFormat.h

◆ VPI_MAKE_NONCOLOR_IMAGE_FORMAT

#define VPI_MAKE_NONCOLOR_IMAGE_FORMAT (   memLayout,
  dataType,
  swizzle,
  numPlanes,
  packing0,
  packing1,
  ... 
)

创建用户自定义的非彩色图像格式常量。

示例:创建 3 平面浮点 block-linear 图像,第 1 平面:8 位,第 2 平面:16 位,第 3 平面:32 位

#define VPI_MAKE_NONCOLOR_IMAGE_FORMAT(memLayout, dataType, swizzle, numPlanes, packing0, packing1,...)
创建用户自定义的非彩色图像格式常量。
@ VPI_PACKING_X32
一个 32 位通道。
@ VPI_PACKING_X16
一个 16 位通道。
参数
[输入]memLayout要使用的 VPIMemLayout
[输入]dataType要使用的 VPIDataType
[输入]swizzle要在通道上执行的 VPISwizzle 操作。
[输入]numPlanes此格式拥有的平面数量。
[输入]packing0,packing1,...每个平面的格式 packing。
  • 第四个平面 (packing3) 必须最多为 64bpp。
返回值
用户自定义的图像格式。

定义位于文件 501ImageFormat.h

◆ VPI_MAKE_RAW_IMAGE_FORMAT_ABBREV

#define VPI_MAKE_RAW_IMAGE_FORMAT_ABBREV (   rawPattern,
  memLayout,
  dataType,
  numPlanes,
  swizzle,
  packing 
)

使用缩写参数创建用户自定义的 raw(Bayer 模式)图像格式常量。

此宏允许传递缩写的格式参数(不带参数类型前缀)。

示例:创建 RGGB Bayer 模式格式

VPIImageFormat fmt = VPI_MAKE_RAW_IMAGE_FORMAT_ABBREV(BAYER_RGGB, BL, UNSIGNED, X000, 1, X8);
#define VPI_MAKE_RAW_IMAGE_FORMAT_ABBREV(rawPattern, memLayout, dataType, numPlanes, swizzle, packing)
使用缩写参数创建用户自定义的 raw(Bayer 模式)图像格式常量。
参数
[输入]rawPattern要使用的 VPIRawPattern,不带 VPI_RAW_ 前缀。
[输入]memLayout要使用的 VPIMemLayout,不带 VPI_MEM_LAYOUT_ 前缀。
[输入]dataType要使用的 VPIDataType,不带 VPI_DATA_TYPE_ 前缀。
[输入]swizzle要在通道上执行的 VPISwizzle 操作,不带 VPI_SWIZZLE_ 前缀。
[输入]numPlanes此格式拥有的平面数量。
[输入]packing图像平面平面的格式 packing,不带 VPI_PACKING_ 前缀。
返回值
用户自定义的图像格式。

定义位于文件 525ImageFormat.h

◆ VPI_MAKE_RAW_IMAGE_FORMAT

#define VPI_MAKE_RAW_IMAGE_FORMAT (   rawPattern,
  memLayout,
  dataType,
  numPlanes,
  swizzle,
  packing 
)

创建用户自定义的 raw(Bayer 模式)图像格式常量。

示例:创建 RGGB Bayer 模式格式

#define VPI_MAKE_RAW_IMAGE_FORMAT(rawPattern, memLayout, dataType, numPlanes, swizzle, packing)
创建用户自定义的 raw(Bayer 模式)图像格式常量。
@ VPI_RAW_BAYER_RGGB
Bayer 格式,X 通道映射到如下样本
定义: ColorSpec.h:310
@ VPI_SWIZZLE_X000
参数
[输入]rawPattern要使用的 VPIRawPattern
[输入]memLayout要使用的 VPIMemLayout
[输入]dataType要使用的 VPIDataType
[输入]swizzle要在通道上执行的 VPISwizzle 操作。
[输入]numPlanes此格式拥有的平面数量。
[输入]packing图像平面的格式 packing。
返回值
用户自定义的图像格式。

定义位于文件 549ImageFormat.h

函数文档

◆ vpiMakeYCbCrImageFormat()

VPIImageFormat vpiMakeYCbCrImageFormat ( VPIColorSpec  colorSpec,
VPIChromaSubsampling  chromaSub,
VPIMemLayout  memLayout,
VPIDataType  dataType,
VPISwizzle  swizzle,
VPIPacking  packing0,
VPIPacking  packing1,
VPIPacking  packing2,
VPIPacking  packing3 
)

创建用户自定义的 YCbCr 彩色图像格式。

当预定义的图像格式不足时,可以创建用户自定义的图像格式。

警告
不保证算法在使用用户自定义图像格式时能正确工作。建议在生产环境中部署解决方案之前,检查结果是否正确。

第四个平面 (packing3) 必须最多为 64bpp。

参数
[输入]colorSpec要使用的 VPIColorSpec
[输入]chromaSub要使用的 VPIChromaSubsampling
[输入]memLayout要使用的 VPIMemLayout
[输入]dataType要使用的 VPIDataType
[输入]swizzle要在通道上执行的 VPISwizzle 操作。
[输入]packing0,packing1,packing2,packing3每个平面的格式 packing。
返回值
用户自定义的图像格式。
返回值
VPI_IMAGE_FORMAT_INVALIDSwizzle packing 无效。
VPI_IMAGE_FORMAT_INVALIDcolorSpecchromaSub 未定义。

◆ vpiMakeColorImageFormat()

VPIImageFormat vpiMakeColorImageFormat ( VPIColorModel  colorModel,
VPIColorSpec  colorSpec,
VPIMemLayout  memLayout,
VPIDataType  dataType,
VPISwizzle  swizzle,
VPIPacking  packing0,
VPIPacking  packing1,
VPIPacking  packing2,
VPIPacking  packing3 
)

创建用户自定义的彩色图像格式。

当预定义的图像格式不足时,可以创建用户自定义的图像格式。

警告
不保证算法在使用用户自定义图像格式时能正确工作。建议在生产环境中部署解决方案之前,检查结果是否正确。

如果颜色模型是 VPI_COLOR_MODEL_YCbCr,则假定色度子采样为 4:4:4,即 VPI_CSS_444

参数
[输入]colorModel要使用的 VPIColorModel
[输入]colorSpec要使用的 VPIColorSpec
[输入]memLayout要使用的 VPIMemLayout
[输入]dataType要使用的 VPIDataType
[输入]swizzle要在通道上执行的 VPISwizzle 操作。
[输入]packing0,packing1,packing2,packing3每个平面的格式 packing。
  • 当不需要剩余平面时,为它们传递 VPI_PACKING_0
  • 第四个平面 (packing3) 必须最多为 64bpp。
返回值
用户自定义的图像格式。
返回值
VPI_IMAGE_FORMAT_INVALIDcolorModelVPI_COLOR_MODEL_UNDEFINED
VPI_IMAGE_FORMAT_INVALIDcolorModelVPI_COLOR_MODEL_RAW
VPI_IMAGE_FORMAT_INVALIDcolorSpecVPI_COLOR_SPEC_UNDEFINED
VPI_IMAGE_FORMAT_INVALIDSwizzle packing 无效。
VPI_IMAGE_FORMAT_INVALIDcolorModelcolorSpecchromaSub 未定义。
VPI_IMAGE_FORMAT_INVALID图像格式无效;第 4 个平面不能有 128 位通道。

◆ vpiMakeNonColorImageFormat()

VPIImageFormat vpiMakeNonColorImageFormat ( VPIMemLayout  memLayout,
VPIDataType  dataType,
VPISwizzle  swizzle,
VPIPacking  packing0,
VPIPacking  packing1,
VPIPacking  packing2,
VPIPacking  packing3 
)

创建用户自定义的非彩色图像格式。

当预定义的非彩色图像格式不足时,可以定义新的格式。

警告
不保证算法在使用用户自定义图像格式时能正确工作。建议在生产环境中部署解决方案之前,检查结果是否正确。
参数
[输入]memLayout要使用的 VPIMemLayout
[输入]dataType要使用的 VPIDataType
[输入]swizzle要在通道上执行的 VPISwizzle 操作。
[输入]packing0,packing1,packing2,packing3每个平面的格式 packing。
  • 当不需要剩余平面时,为它们传递 VPI_PACKING_0
  • 第四个平面 (packing3) 必须最多为 64bpp。
返回值
用户自定义的图像格式。
返回值
VPI_IMAGE_FORMAT_INVALID要查询的图像格式无效。
VPI_IMAGE_FORMAT_INVALIDSwizzle packing 无效。

◆ vpiMakeRawImageFormat()

VPIImageFormat vpiMakeRawImageFormat ( VPIRawPattern  rawPattern,
VPIMemLayout  memLayout,
VPIDataType  dataType,
VPISwizzle  swizzle,
VPIPacking  packing0,
VPIPacking  packing1,
VPIPacking  packing2,
VPIPacking  packing3 
)

创建用户自定义的 raw 图像格式。

当预定义的 raw 图像格式不足时,可以定义新的格式。

警告
不保证算法在使用用户自定义图像格式时能正确工作。建议在生产环境中部署解决方案之前,检查结果是否正确。
参数
[输入]rawPattern要使用的 VPIRawPattern
[输入]memLayout要使用的 VPIMemLayout
[输入]dataType要使用的 VPIDataType
[输入]swizzle要在通道上执行的 VPISwizzle 操作。
[输入]packing0,packing1,packing2,packing3每个平面的格式 packing。
  • 当不需要剩余平面时,为它们传递 VPI_PACKING_0
  • 第四个平面 (packing3) 必须最多为 64bpp。
返回值
用户自定义的图像格式。
返回值
VPI_IMAGE_FORMAT_INVALID要查询的图像格式无效。
VPI_IMAGE_FORMAT_INVALIDrawPattern 无效。
VPI_IMAGE_FORMAT_INVALIDSwizzle packing 无效。

◆ vpiMakeImageFormatFromFourCC()

VPIImageFormat vpiMakeImageFormatFromFourCC ( uint32_t  fourcc,
VPIColorSpec  colorSpec,
VPIMemLayout  memLayout 
)

从 FourCC 代码创建图像格式。

有关 FourCC 的更多信息,请参见 https://www.fourcc.org

参数
[输入]fourccFourCC 代码。
[输入]colorSpec要使用的 VPIColorSpec
[输入]memLayout要使用的 VPIMemLayout
返回值
与 FourCC 代码对应的图像格式。
返回值
VPI_IMAGE_FORMAT_INVALID无效的 fourcc

◆ vpiImageFormatGetFourCC()

uint32_t vpiImageFormatGetFourCC ( VPIImageFormat  fmt)

返回与图像格式对应的 FourCC 代码。

参数
[输入]fmt要查询的图像格式。
返回值
与图像格式对应的 FourCC 代码。
返回值
0没有与 fmt 关联的 FourCC,例如 VPI_IMAGE_FORMAT_2F32

◆ vpiImageFormatGetPlanePacking()

VPIPacking vpiImageFormatGetPlanePacking ( VPIImageFormat  fmt,
int  plane 
)

获取给定图像格式的平面的 packing。

参数
[输入]fmt要查询的图像格式。
[输入]plane必须返回 packing 的平面。
  • 有效值范围为 0(第一个平面)到 3(第四个平面)。
返回值
平面的格式 packing。
返回值
VPI_PACKING_0要查询的 fmt 无效。
VPI_PACKING_0plane 超出有效范围。

◆ vpiImageFormatGetPlaneWidth()

int32_t vpiImageFormatGetPlaneWidth ( VPIImageFormat  fmt,
int32_t  imgWidth,
int  plane 
)

获取具有给定图像格式和宽度的图像的平面宽度。

参数
[输入]fmt要查询的图像格式。
[输入]imgWidth图像的宽度。
  • 必须 >= 1。
[输入]plane要查询的图像平面。
  • 必须 >= 0 且 < 图像格式中的平面数。
返回值
图像平面的宽度。
返回值
0fmt 无效。
0imgWidth 超出有效范围。
0plane 超出有效范围。

◆ vpiImageFormatGetPlaneHeight()

int32_t vpiImageFormatGetPlaneHeight ( VPIImageFormat  fmt,
int32_t  imgHeight,
int  plane 
)

获取具有给定图像格式和高度的图像的平面高度。

参数
[输入]fmt要查询的图像格式。
[输入]imgHeight图像的高度。
  • 必须 >= 1。
[输入]plane要查询的图像平面。
  • 必须 >= 0 且 < 图像格式中的平面数。
返回值
图像平面的高度。
返回值
0fmt 无效。
0imgHeight 超出有效范围。
0plane 超出有效范围。

◆ vpiImageFormatSetSwizzleAndPacking()

VPIImageFormat vpiImageFormatSetSwizzleAndPacking ( VPIImageFormat  fmt,
VPISwizzle  swizzle,
VPIPacking  packing0,
VPIPacking  packing1,
VPIPacking  packing2,
VPIPacking  packing3 
)

替换现有图像格式的通道重排和数据打包方式。

通道重排表示的通道数必须等于数据打包方式表示的通道数之和。例如,XYZ1、X8、X8Y8 是一个有效的组合,共有 3 个通道。XYZW、X8、X8Y8 则无效,因为通道重排有 4 个通道,而 X8、X8Y8 总共表示 3 个通道。

参数
[输入]fmt要替换其数据打包方式的图像格式。
[输入]swizzle新的通道重排方式。
[输入]packing0,packing1,packing2,packing3新的数据打包方式。
  • 如果特定平面的数据打包方式不需要更新,则传递 VPI_PACKING_INVALID
  • 如果要替换第四个数据打包方式 (packing3),则该数据打包方式的每像素位数必须最多为 64 位。
返回值
已更新的图像格式。
返回值
VPI_IMAGE_FORMAT_INVALID要查询的 fmt 无效。

◆ vpiImageFormatGetPlaneBitsPerPixel()

int vpiImageFormatGetPlaneBitsPerPixel ( VPIImageFormat  fmt,
int  plane 
)

获取图像格式的平面每像素位数计数。

参数
[输入]fmt要查询的图像格式。
[输入]plane要查询的平面。
  • 有效值范围为 0(第一个平面)到 3(第四个平面)。
返回值
给定格式平面具有的每像素位数。
返回值
0fmt 无效。
0plane 超出有效范围。

◆ vpiImageFormatSetDataType()

VPIImageFormat vpiImageFormatSetDataType ( VPIImageFormat  fmt,
VPIDataType  dataType 
)

设置图像格式的数据类型。

参数
[输入]fmt要替换其数据类型的图像格式。
[输入]dataType新的数据类型。
返回值
基于输入图像格式,但具有用户提供的数据类型的新图像格式。
返回值
VPI_IMAGE_FORMAT_INVALID要查询的 fmt 无效。
VPI_IMAGE_FORMAT_INVALIDdataType 无效。

◆ vpiImageFormatGetDataType()

VPIDataType vpiImageFormatGetDataType ( VPIImageFormat  fmt)

获取图像格式的数据类型。

参数
[输入]fmt要查询的图像格式。
返回值
图像格式的数据类型。
返回值
VPI_DATA_TYPE_INVALID要查询的 fmt 无效。

◆ vpiImageFormatGetSwizzle()

VPISwizzle vpiImageFormatGetSwizzle ( VPIImageFormat  fmt)

获取图像格式的通道重排操作。

参数
[输入]fmt要查询的图像格式。
返回值
图像格式的通道重排操作。
返回值
VPI_SWIZZLE_0000要查询的 fmt 无效。

◆ vpiImageFormatGetPlaneSwizzle()

VPISwizzle vpiImageFormatGetPlaneSwizzle ( VPIImageFormat  fmt,
int  plane 
)

获取给定图像格式平面的通道重排操作。

参数
[输入]fmt要查询的图像格式。
  • 图像格式应具有较少的打包通道和通道重排通道。
[输入]plane要查询的平面。
  • 有效值范围为 0(第一个)到 3(第四个和最后一个)平面。
返回值
在给定平面中执行的通道重排操作。
返回值
VPI_SWIZZLE_0000要查询的 fmt 无效。
VPI_SWIZZLE_INVALID打包通道多于通道重排通道。

◆ vpiImageFormatSetMemLayout()

VPIImageFormat vpiImageFormatSetMemLayout ( VPIImageFormat  fmt,
VPIMemLayout  memLayout 
)

设置图像格式的内存布局。

参数
[输入]fmt要替换其内存布局的图像格式。
[输入]memLayout新的内存布局。
返回值
基于输入图像格式,但具有用户提供的内存布局的新图像格式。
返回值
VPI_IMAGE_FORMAT_INVALID要查询的 fmt 无效。
VPI_IMAGE_FORMAT_INVALIDmemLayout 无效。

◆ vpiImageFormatGetMemLayout()

VPIMemLayout vpiImageFormatGetMemLayout ( VPIImageFormat  fmt)

获取图像格式的内存布局。

参数
[输入]fmt要查询的图像格式。
返回值
图像格式的内存布局。
返回值
VPI_MEM_LAYOUT_INVALID要查询的 fmt 无效。

◆ vpiImageFormatSetColorSpec()

VPIImageFormat vpiImageFormatSetColorSpec ( VPIImageFormat  fmt,
VPIColorSpec  colorSpec 
)

设置图像格式的颜色标准。

仅对表示图像编码系统的颜色模型(例如 RGB、Y'CrCb、HSV 等)有效。对于其他颜色模型,它将返回 VPI_IMAGE_FORMAT_INVALID。

参数
[输入]fmt要替换其颜色规格的图像格式。
[输入]colorSpec新的颜色标准。
返回值
基于输入图像格式,但具有用户提供的颜色规格的新图像格式。
返回值
VPI_IMAGE_FORMAT_INVALID要查询的 fmt 无效。
VPI_IMAGE_FORMAT_INVALIDcolorSpec 无效。
VPI_IMAGE_FORMAT_INVALID颜色标准不适用于格式的颜色模型。

◆ vpiImageFormatGetColorSpec()

VPIColorSpec vpiImageFormatGetColorSpec ( VPIImageFormat  fmt)

获取图像格式的颜色标准。

参数
[输入]fmt要查询的图像格式。
返回值
图像格式的颜色标准。
返回值
VPI_COLOR_SPEC_INVALID要查询的 fmt 无效。
VPI_COLOR_SPEC_UNDEFINED不适用,即格式模型不是 RGB、YCbCr、HSV 或 HSL。

◆ vpiImageFormatGetColorModel()

VPIColorModel vpiImageFormatGetColorModel ( VPIImageFormat  fmt)

获取图像格式的颜色模型。

参数
[输入]fmt要查询的图像格式。
返回值
图像格式的颜色模型。
返回值
VPI_COLOR_MODEL_UNDEFINED要查询的 fmt 无效。

◆ vpiImageFormatSetChromaSubsampling()

VPIImageFormat vpiImageFormatSetChromaSubsampling ( VPIImageFormat  fmt,
VPIChromaSubsampling  css 
)

设置图像格式的色度二次采样类型。

参数
[输入]fmt要替换其色度二次采样类型的图像格式。
  • 仅当格式具有 YCbCr 颜色模型时才适用。
[输入]css新的色度二次采样类型。
返回值
基于输入图像格式,但具有用户提供的色度二次采样类型的新图像格式。
返回值
VPI_IMAGE_FORMAT_INVALID要查询的 fmt 无效。
VPI_IMAGE_FORMAT_INVALIDcss 无效。
VPI_CSS_NONE格式的颜色模型不是 VPI_COLOR_MODEL_YCbCr

◆ vpiImageFormatGetChromaSubsampling()

VPIChromaSubsampling vpiImageFormatGetChromaSubsampling ( VPIImageFormat  fmt)

获取图像格式的色度二次采样类型。

参数
[输入]fmt要查询的图像格式。
返回值
图像格式的色度二次采样类型。
返回值
VPI_CSS_INVALID不支持 fmt
VPI_CSS_NONEfmt 颜色模型不是 VPI_COLOR_MODEL_YCbCr

◆ vpiImageFormatGetPlaneChannelCount()

int vpiImageFormatGetPlaneChannelCount ( VPIImageFormat  fmt,
int  plane 
)

获取图像格式的平面中的通道数。

参数
[输入]fmt要查询的图像格式。
[输入]plane要查询的平面。有效值范围为 0(第一个)到 3(第四个和最后一个)平面。
返回值
给定平面中的通道数。

◆ vpiImageFormatGetPlaneCount()

int vpiImageFormatGetPlaneCount ( VPIImageFormat  fmt)

获取图像格式的平面数。

参数
[输入]fmt要查询的图像格式。
返回值
给定图像格式定义的平面数。

◆ vpiImageFormatGetChannelCount()

int vpiImageFormatGetChannelCount ( VPIImageFormat  fmt)

获取图像格式的通道总数。

参数
[输入]fmt要查询的图像格式。
返回值
所有平面中所有通道计数的总和。

◆ vpiImageFormatGetBitsPerChannel()

void vpiImageFormatGetBitsPerChannel ( VPIImageFormat  fmt,
int32_t *  bits 
)

获取图像格式的每个通道的位大小。

参数
[输入]fmt要查询的图像格式。
[输出]bits指向包含 4 个元素的 int32_t 数组的指针,输出将存储在其中。
  • 如果为 NULL,则该函数不执行任何操作。

◆ vpiImageFormatGetPlanePixelType()

VPIPixelType vpiImageFormatGetPlanePixelType ( VPIImageFormat  fmt,
int  plane 
)

获取图像格式平面的像素类型。

参数
[输入]fmt要查询的图像格式。
[输入]plane要查询的平面。
  • 有效值范围为 0(第一个)到 3(第四个和最后一个)平面。
返回值
给定平面的像素类型。
返回值
VPI_PIXEL_TYPE_INVALID要查询的 fmt 无效。
VPI_PIXEL_TYPE_INVALIDplane 超出范围。

◆ vpiImageFormatGetPlaneFormat()

VPIImageFormat vpiImageFormatGetPlaneFormat ( VPIImageFormat  fmt,
int  plane 
)

获取图像格式的平面格式。

参数
[输入]fmt要查询的图像格式。
[输入]plane要查询的平面。
  • 有效值范围为 0(第一个)到 3(第四个和最后一个)平面。
返回值
给定平面的图像格式。
返回值
VPI_IMAGE_FORMAT_INVALIDfmt 数据打包方式无效。
VPI_IMAGE_FORMAT_INVALIDplane 超出范围。

◆ vpiMakeImageFormatFromPlanes()

VPIImageFormat vpiMakeImageFormatFromPlanes ( VPIImageFormat  plane0,
VPIImageFormat  plane1,
VPIImageFormat  plane2,
VPIImageFormat  plane3 
)

根据每个平面的格式构造图像格式。

参数
[输入]plane0、plane1、plane2、plane3每个平面的图像格式。
  • 当平面不存在时,传递 VPI_IMAGE_FORMAT_INVALID
  • 所有平面类型必须只有一个平面。
  • 第一个平面必须具有有效的数据打包方式。
  • 通道总数必须最多为 4 个。
  • 所有平面的颜色规格、内存布局和数据类型必须相同。
  • 只允许一种色度二次采样。
  • 至少允许一个通道。
  • 第一个无效平面之后的所有平面都必须无效。
返回值
其平面具有给定格式的图像格式。
返回值
VPI_IMAGE_FORMAT_INVALID要查询的图像格式无效。
VPI_IMAGE_FORMAT_INVALID所有平面类型必须只有一个平面。
VPI_IMAGE_FORMAT_INVALID第一个平面必须具有有效的数据打包方式。
VPI_IMAGE_FORMAT_INVALID通道总数必须最多为 4 个。
VPI_IMAGE_FORMAT_INVALID所有平面的颜色规格、内存布局和数据类型必须相同。
VPI_IMAGE_FORMAT_INVALID只允许一种色度二次采样。
VPI_IMAGE_FORMAT_INVALID至少允许一个通道。
VPI_IMAGE_FORMAT_INVALID第一个无效平面之后的所有平面都必须无效。

◆ vpiImageFormatGetName()

const char* vpiImageFormatGetName ( VPIImageFormat  fmt)

返回图像格式的字符串表示形式。

参数
[输入]fmt要返回其名称的图像格式。
返回值
图像格式的字符串表示形式。返回的字符串在同一调用线程下次调用此函数之前有效。返回的指针不得释放。

◆ vpiImageFormatGetRawPattern()

VPIRawPattern vpiImageFormatGetRawPattern ( VPIImageFormat  fmt)

返回图像格式的原始颜色模式。

参数
[输入]fmt要查询的图像格式。
返回值
给定原始图像格式的原始模式。
返回值
VPI_RAW_INVALIDfmt 的颜色模型不是 VPI_COLOR_MODEL_RAW

◆ vpiImageFormatSetRawPattern()

VPIImageFormat vpiImageFormatSetRawPattern ( VPIImageFormat  fmt,
VPIRawPattern  rawPattern 
)

设置图像格式的原始颜色模式。

参数
[输入]fmt要更新的图像格式。
[输入]rawPattern新的原始模式。
返回值
将返回具有更新后的原始模式的新图像格式。
返回值
VPI_IMAGE_FORMAT_INVALID要查询的 fmt 无效,或者其颜色模型不是 VPI_COLOR_MODEL_RAW
VPI_IMAGE_FORMAT_INVALIDrawPattern 无效。

◆ vpiImageFormatHasSameDataLayout()

int vpiImageFormatHasSameDataLayout ( VPIImageFormat  a,
VPIImageFormat  b 
)

返回图像格式是否具有相同的数据布局。

数据布局指的是像素在内存中的排列方式。它不考虑格式的颜色信息。

以下特性被考虑在内:

  • 内存布局(块线性、pitch 线性等)
  • 数据类型(有符号、无符号、浮点型等)
  • 通道重排(第 4 个通道中的 1/0 除外)
  • 平面数
  • 数据打包方式(X8_Y8、X16 等)
  • 色度二次采样 (4:4:4, 4:2:0, ...)
参数
[输入]a,b要比较的图像格式。
返回值
1两个图像格式在像素在内存中的排列方式方面比较相等。
0两个图像格式比较不同。