acldvppStreamFormat
aclFormat
typedef enum {
ACL_FORMAT_UNDEFINED = -1,
ACL_FORMAT_NCHW = 0,
ACL_FORMAT_NHWC = 1,
ACL_FORMAT_ND = 2,
ACL_FORMAT_NC1HWC0 = 3,
ACL_FORMAT_FRACTAL_Z = 4,
ACL_FORMAT_NC1HWC0_C04 = 12,
ACL_FORMAT_HWCN = 16,
ACL_FORMAT_NDHWC = 27,
ACL_FORMAT_FRACTAL_NZ = 29,
ACL_FORMAT_NCDHW = 30,
ACL_FORMAT_NDC1HWC0 = 32,
ACL_FRACTAL_Z_3D = 33
} aclFormat;
- UNDEFINED:未知格式,默认值。
- NCHW:NCHW格式。
- NHWC:NHWC格式。
- ND:表示支持任意格式,仅有Square、Tanh等这些单输入对自身处理的算子外,其它需要慎用。
- NC1HWC0:5维数据格式。其中,C0与微架构强相关,该值等于cube单元的size,例如16;C1是将C维度按照C0切分:C1=C/C0, 若结果不整除,最后一份数据需要padding到C0。
- FRACTAL_Z:卷积的权重的格式。
- NC1HWC0_C04:5维数据格式。其中,C0固定为4,C1是将C维度按照C0切分:C1=C/C0, 若结果不整除,最后一份数据需要padding到C0。当前版本不支持。
- HWCN:HWCN格式。
- NDHWC:NDHWC格式。对于3维图像就需要使用带D(Depth)维度的格式。
- FRACTAL_NZ:内部格式,用户目前无需使用。
- NCDHW:NCDHW格式。对于3维图像就需要使用带D(Depth)维度的格式。
- NDC1HWC0:6维数据格式。相比于NC1HWC0,仅多了D(Depth)维度。
- FRACTAL_Z_3D:3D卷积权重格式,例如Conv3D/MaxPool3D/AvgPool3D这些算子都需要这种格式来表达。
:::note 说明 各维度的含义如下:N(Batch)表示批量大小、H(Height)表示特征图高度、W(Width)表示特征图宽度、C(Channels)表示特征图通道、D(Depth)表示特征图深度。 :::
父主题: 数据类型及其操作接口
aclrtMemMallocPolicy
typedef enum aclrtMemMallocPolicy {
ACL_MEM_MALLOC_HUGE_FIRST,
ACL_MEM_MALLOC_HUGE_ONLY,
ACL_MEM_MALLOC_NORMAL_ONLY,
ACL_MEM_MALLOC_HUGE_FIRST_P2P,
ACL_MEM_MALLOC_HUGE_ONLY_P2P,
ACL_MEM_MALLOC_NORMAL_ONLY_P2P,
ACL_MEM_TYPE_LOW_BAND_WIDTH = 0x0100,
ACL_MEM_TYPE_HIGH_BAND_WIDTH = 0x1000
} aclrtMemMallocPolicy;
此处支持单个枚举项,也支持多个枚举项位或:
-
配置单个枚举项:
若配置ACL_MEM_MALLOC_HUGE_FIRST、或ACL_MEM_MALLOC_HUGE_ONLY、或ACL_MEM_MALLOC_NORMAL_ONLY、或ACL_MEM_MALLOC_HUGE_FIRST_P2P、或ACL_MEM_MALLOC_HUGE_ONLY_P2P、或ACL_MEM_MALLOC_NORMAL_ONLY_P2P,则系统内部会根据硬件支持情况选择从高带宽或低带宽物理内存申请内存;
若配置ACL_MEM_TYPE_LOW_BAND_WIDTH或ACL_MEM_TYPE_HIGH_BAND_WIDTH,则系统内部会默认采取ACL_MEM_MALLOC_HUGE_FIRST,优先申请大页。
-
配置多个枚举项位或:支持这三项(ACL_MEM_MALLOC_HUGE_FIRST、ACL_MEM_MALLOC_HUGE_ONLY、ACL_MEM_MALLOC_NORMAL_ONLY)与这两项(ACL_MEM_TYPE_LOW_BAND_WIDTH、ACL_MEM_TYPE_HIGH_BAND_WIDTH)组合,例如:ACL_MEM_MALLOC_HUGE_FIRST | ACL_MEM_TYPE_HIGH_BAND_WIDTH
表1 枚举项说明
| 枚举项 | 说明 |
|---|---|
| ACL_MEM_MALLOC_HUGE_FIRST | 当申请的内存小于等于1M时,即使使用该内存分配规则,也是申请普通页的内存。当申请的内存大于1M时,优先申请大页内存,如果大页内存不够,则使用普通页的内存。 |
| ACL_MEM_MALLOC_HUGE_ONLY | 仅申请大页,如果大页内存不够,则返回错误。 |
| ACL_MEM_MALLOC_NORMAL_ONLY | 仅申请普通页,如果普通页内存不够,则返回错误。 |
| ACL_MEM_MALLOC_HUGE_FIRST_P2P | 仅Device之间内存复制场景下申请内存时使用该选项,表示优先申请大页内存,如果大页内存不够,则使用普通页的内存。 当前版本不支持该选项。 |
| ACL_MEM_MALLOC_HUGE_ONLY_P2P | 仅Device之间内存复制场景下申请内存时使用该选项,仅申请大页内存,如果大页内存不够,则返回错误。 当前版本不支持该选项。 |
| ACL_MEM_MALLOC_NORMAL_ONLY_P2P | 仅Device之间内存复制场景下申请内存时使用该选项,仅申请普通页的内存。 当前版本不支持该选项。 |
| ACL_MEM_TYPE_LOW_BAND_WIDTH | 从带宽高的物理内存上申请内存。 设置该选项无效,系统默认会根据硬件支持的内存类型选择。 |
| ACL_MEM_TYPE_HIGH_BAND_WIDTH | 从带宽低的物理内存上申请内存。 设置该选项无效,系统默认会根据硬件支持的内存类型选择。 |
父主题: 数据类型及其操作接口
acldvppPixelFormat
// Supported Pixel Format
enum acldvppPixelFormat {
PIXEL_FORMAT_YUV_400 = 0, // 0, YUV400 8bit
PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // 1, YUV420SP NV12 8bit
PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // 2, YUV420SP NV21 8bit
PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // 3, YUV422SP 8bit
PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // 4, YVU422SP 8bit
PIXEL_FORMAT_YUV_SEMIPLANAR_444 = 5, // 5, YUV444SP 8bit
PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6, // 6, YVU444SP 8bit
PIXEL_FORMAT_YUYV_PACKED_422 = 7, // 7, YUV422P YUYV 8bit
PIXEL_FORMAT_UYVY_PACKED_422 = 8, // 8, YUV422P UYVY 8bit
PIXEL_FORMAT_YVYU_PACKED_422 = 9, // 9, YUV422P YVYU 8bit
PIXEL_FORMAT_VYUY_PACKED_422 = 10, // 10, YUV422P VYUY 8bit
PIXEL_FORMAT_YUV_PACKED_444 = 11, // 11, YUV444P 8bit
PIXEL_FORMAT_RGB_888 = 12, // 12, RGB888
PIXEL_FORMAT_BGR_888 = 13, // 13, BGR888
PIXEL_FORMAT_ARGB_8888 = 14, // 14, ARGB8888
PIXEL_FORMAT_ABGR_8888 = 15, // 15, ABGR8888
PIXEL_FORMAT_RGBA_8888 = 16, // 16, RGBA8888
PIXEL_FORMAT_BGRA_8888 = 17, // 17, BGRA8888
PIXEL_FORMAT_YUV_SEMI_PLANNER_420_10BIT = 18, // 18, YUV420SP 10bit
PIXEL_FORMAT_YVU_SEMI_PLANNER_420_10BIT = 19, // 19, YVU420S 10bit
PIXEL_FORMAT_YVU_PLANAR_420 = 20, // 20, YVU420P 8bit
PIXEL_FORMAT_YVU_PLANAR_422, //YVU422P 8bit
PIXEL_FORMAT_YVU_PLANAR_444, //YVU444P 8bit
PIXEL_FORMAT_RGB_444 = 23, // RGB444 R:4bit G:4bit B:4bit,当前不支持该格式
PIXEL_FORMAT_BGR_444, // BGR444 R:4bit G:4bit B:4bit,当前不支持该格式
PIXEL_FORMAT_ARGB_4444, // ARGB4444 A:4bit R:4bit G:4bit B:4bit,当前不支持该格式
PIXEL_FORMAT_ABGR_4444, // ABGR4444 A:4bit B:4bit G:4bit R:4bit,当前不支持该格式
PIXEL_FORMAT_RGBA_4444, // RGBA4444 R:4bit G:4bit B:4bit A:4bit,当前不支持该格式
PIXEL_FORMAT_BGRA_4444, // BGRA4444 B:4bit G:4bit R:4bit A:4bit,当前不支持该格式
PIXEL_FORMAT_RGB_555, // RGB555 R:5bit G:5bit B:5bit,当前不支持该格式
PIXEL_FORMAT_BGR_555, // BGR555 B:5bit G:5bit R:5bit,当前不支持该格式
PIXEL_FORMAT_RGB_565, // RGB565 R:5bit G:6bit B:5bit,当前不支持该格式
PIXEL_FORMAT_BGR_565, // BGR565 B:5bit G:6bit R:5bit,当前不支持该格式
PIXEL_FORMAT_ARGB_1555, // ARGB1555 A:1bit R:5bit G:6bit B:5bit,当前不支持该格式
PIXEL_FORMAT_ABGR_1555, // ABGR1555 A:1bit B:5bit G:6bit R:5bit,当前不支持该格式
PIXEL_FORMAT_RGBA_1555, // RGBA1555 A:1bit B:5bit G:6bit R:5bit,当前不支持该格式
PIXEL_FORMAT_BGRA_1555, // BGRA1555 A:1bit B:5bit G:6bit R:5bit,当前不支持该格式
PIXEL_FORMAT_ARGB_8565, // ARGB8565 A:8bit R:5bit G:6bit B:5bit,当前不支持该格式
PIXEL_FORMAT_ABGR_8565, // ABGR8565 A:8bit B:5bit G:6bit R:5bit,当前不支持该格式
PIXEL_FORMAT_RGBA_8565, // RGBA8565 A:8bit R:5bit G:6bit B:5bit,当前不支持该格式
PIXEL_FORMAT_BGRA_8565, // BGRA8565 A:8bit B:5bit G:6bit R:5bit,当前不支持该格式
PIXEL_FORMAT_RGB_BAYER_8BPP = 50, // RGB Bayer 8bit,Bayer图像,当前不支持该格式
PIXEL_FORMAT_RGB_BAYER_10BPP, // RGB Bayer 10bit,Bayer图像,当前不支持该格式
PIXEL_FORMAT_RGB_BAYER_12BPP, // RGB Bayer 12bit,Bayer图像,当前不支持该格式
PIXEL_FORMAT_RGB_BAYER_14BPP, // RGB Bayer 14bit,Bayer图像,当前不支持该格式
PIXEL_FORMAT_RGB_BAYER_16BPP, // RGB Bayer 16bit,Bayer图像,当前不支持该格式
PIXEL_FORMAT_BGR_888_PLANAR = 70, // RGB888 Planar,当前不支持该格式
PIXEL_FORMAT_HSV_888_PACKAGE, // HSV Package,HSV图像package格式,当前不支持该格式
PIXEL_FORMAT_HSV_888_PLANAR, // HSV Planar,HSV图像Planar格式,当前不支持该格式
PIXEL_FORMAT_LAB_888_PACKAGE, // LAB Package,LAB图像package格式,当前不支持该格式
PIXEL_FORMAT_LAB_888_PLANAR, // LAB Planar,LAB图像Planar格式,当前不支持该格式
PIXEL_FORMAT_S8C1, // Signed 8bit for 1pixel 1Channel,每个像素用1个8bit有符号数据表示的单通道图像,当前不支持该格式
PIXEL_FORMAT_S8C2_PACKAGE, // Signed 8bit for 1pixel 2Channel Package,每个像素用2个8bit有符号数表示的双通道图像Package格式,当前不支持该格式
PIXEL_FORMAT_S8C2_PLANAR, // Signed 8bit for 1pixel 2Channel Planar,每个像素用2个8bit有符号数据表的双通道图像Planar格式,当前不支持该格式
PIXEL_FORMAT_S16C1, // Signed 16bit 1pixel 1Channel,每个像素用1个16bit有符号数据表示的单通道图像,当前不支持该格式
PIXEL_FORMAT_U8C1, // Unsigned 8bit 1pixel 1Channel,每个像素用1个8bit无符号数据表示的单通道图像,当前不支持该格式
PIXEL_FORMAT_U16C1, // Unsigned 16bit 1pixel 1Channel,每个像素用1个16bit无符号数据表示的单通道图像,当前不支持该格式
PIXEL_FORMAT_S32C1, // Signed 32bit 1pixel 1Channel,每个像素用1个32bit有符号数据表示的单通道图像,当前不支持该格式
PIXEL_FORMAT_U32C1, // Unsigned 32bit 1pixel 1Channel,每个像素用1个32bit无符号数据表示的单通道图像,当前不支持该格式
PIXEL_FORMAT_U64C1, // Unsigned 64bit 1pixel 1Channel,每个像素用1个64bit无符号数据表示的单通道图像,当前不支持该格式
PIXEL_FORMAT_S64C1, // Signed 64bit 1pixel 1Channel,每个像素用1个64bit有符号数据表示的单通道图像,当前不支持该格式
PIXEL_FORMAT_YUV_SEMIPLANAR_440 = 1000, // YUV440SP 8bit
PIXEL_FORMAT_YVU_SEMIPLANAR_440, // YVU440SP 8bit
PIXEL_FORMAT_FLOAT32, // Float 32bit for 1pixel,每个像素用1个float32数据表示,当前不支持该格式
PIXEL_FORMAT_BUTT,
PIXEL_FORMAT_UNKNOWN = 10000
};
父主题: 数据类型及其操作接口
acldvppStreamFormat
enum acldvppStreamFormat {
H265_MAIN_LEVEL = 0,
H264_BASELINE_LEVEL,
H264_MAIN_LEVEL,
H264_HIGH_LEVEL
};
父主题: 数据类型及其操作接口
acldvppJpegFormat
enum acldvppJpegFormat {
ACL_JPEG_CSS_444 = 0,
ACL_JPEG_CSS_422,
ACL_JPEG_CSS_420,
ACL_JPEG_CSS_GRAY,
ACL_JPEG_CSS_440,
ACL_JPEG_CSS_411,
ACL_JPEG_CSS_UNKNOWN = 1000
};
父主题: 数据类型及其操作接口
acldvppCscMatrix
enum acldvppCscMatrix {
ACL_DVPP_CSC_MATRIX_BT601_WIDE = 0, //基于BT601 wide标准的色域转换矩阵,默认值
ACL_DVPP_CSC_MATRIX_BT601_NARROW, //基于BT601 narrow标准的色域转换矩阵
ACL_DVPP_CSC_MATRIX_BT709_WIDE, //基于BT709 wide标准的色域转换矩阵
ACL_DVPP_CSC_MATRIX_BT709_NARROW, //基于BT709 narrow标准的色域转换矩阵
ACL_DVPP_CSC_MATRIX_BT2020_WIDE, //基于BT2020 wide标准的色域转换矩阵
ACL_DVPP_CSC_MATRIX_BT2020_NARROW //基于BT2020 narrow标准的色域转换矩阵
};
基于以上各标准的色域转换矩阵,其各分量的转换公式如下:
## YUV转RGB:
## | R | | matrix_r0c0 matrix_r0c1 matrix_r0c2 | | Y - input_bias_0 |
## | G | = | matrix_r1c0 matrix_r1c1 matrix_r1c2 | * | U - input_bias_1 |
## | B | | matrix_r2c0 matrix_r2c1 matrix_r2c2 | | V - input_bias_2 |
## BGR转YUV:
## | Y | | output_bias_0 | | matrix_r0c0 matrix_r0c1 matrix_r0c2 | | R |
## | U | = | output_bias_1 | + | matrix_r1c0 matrix_r1c1 matrix_r1c2 | * | G |
## | V | | output_bias_2 | | matrix_r2c0 matrix_r2c1 matrix_r2c2 | | B |
基于不同标准的色域转换矩阵,各参数值如下表所示。
| 成员名称 | 描述 |
|---|---|
| ACL_DVPP_CSC_MATRIX_BT601_WIDE | 基于BT601 wide标准的色域转换矩阵。默认为ACL_DVPP_CSC_MATRIX_BT601_WIDE 。 基于该标准的色域转换矩阵,各参数值如下: text<br># YUV转RGB:<br># | R | | 1.000 0.000 1.402 | | Y - 0 |<br># | G | = | 1.000 -0.344 -0.714 | * | U - 128 | <br># | B | | 1.000 1.772 0.000 | | V - 128 |<br># RGB转YUV:<br># | Y | |-0.5 | | 0.299 0.587 0.114 | | R | <br># | U | = |127.5 | + | -0.168 -0.331 0.500 | * | G | <br># | V | |127.5 | | 0.500 -0.419 -0.081 | | B | <br> |
| ACL_DVPP_CSC_MATRIX_BT601_NARROW | 基于BT601 narrow标准的色域转换矩阵。 基于该标准的色域转换矩阵,各参数值如下: text<br># YUV转RGB:<br># | R | | 1.16438 0.00000 1.59602 | | Y - 16 |<br># | G | = | 1.16438 -0.39176 -0.81297 | * | U - 128 | <br># | B | | 1.16438 2.01723 0.00000 | | V - 128 |<br># RGB转YUV:<br># | Y | |16 | | 0.25679 0.51564 0.10014 | | R | <br># | U | = |128| + | -0.14491 -0.29099 0.43922 | * | G | <br># | V | |128| | 0.42941 -0.36779 -0.07143 | | B | <br> |
| ACL_DVPP_CSC_MATRIX_BT709_WIDE | 基于BT709 wide标准的色域转换矩阵。 基于该标准的色域转换矩阵,各参数值如下: text<br># YUV转RGB:<br># | R | | 1.00000 0.00000 1.57480 | | Y - 0 |<br># | G | = | 1.00000 -0.18732 -0.46812 | * | U - 128 | <br># | B | | 1.00000 1.85560 0.00000 | | V - 128 |<br># RGB转YUV:<br># | Y | |0 | | 0.21260 0.71520 0.07220 | | R | <br># | U | = |128| + | -0.11457 -0.38543 0.50000 | * | G | <br># | V | |128| | 0.50000 -0.45415 -0.04585 | | B | <br> |
| ACL_DVPP_CSC_MATRIX_BT709_NARROW | 基于BT709 narrow标准的色域转换矩阵。 基于该标准的色域转换矩阵,各参数值如下: text<br># YUV转RGB:<br># | R | | 1.16438 0.00000 1.79274 | | Y - 16 |<br># | G | = | 1.16438 -0.21325 -0.53291 | * | U - 128 | <br># | B | | 1.16438 2.11240 0.00000 | | V - 128 |<br># RGB转YUV:<br># | Y | |16 | | 0.18259 0.62825 0.06342 | | R | <br># | U | = |128| + | -0.09840 -0.33857 0.43922 | * | G | <br># | V | |128| | 0.42941 -0.39894 -0.04027 | | B | <br> |
| ACL_DVPP_CSC_MATRIX_BT2020_WIDE | 基于BT2020 wide标准的色域转换矩阵。 基于该标准的色域转换矩阵,各参数值如下: text<br># YUV转RGB:<br># | R | | 1.00000 0.00000 1.47460 | | Y - 0 |<br># | G | = | 1.00000 -0.16455 -0.57135 | * | U - 128 | <br># | B | | 1.00000 1.88140 0.00000 | | V - 128 |<br># RGB转YUV:<br># | Y | |0 | | 0.26270 0.67800 0.05930 | | R | <br># | U | = |128| + | -0.13963 -0.36037 0.50000 | * | G | <br># | V | |128| | 0.50000 -0.45979 -0.04021 | | B | <br> |
| ACL_DVPP_CSC_MATRIX_BT2020_NARROW | 基于BT2020 narrow标准的色域转换矩阵。 基于该标准的色域转换矩阵,各参数值如下: text<br># YUV转RGB:<br># | R | | 1.16438 0.00000 1.67868 | | Y - 16 |<br># | G | = | 1.16438 -0.18733 -0.65042 | * | U - 128 | <br># | B | | 1.16438 2.14177 0.00000 | | V - 128 |<br># RGB转YUV:<br># | Y | |16 | | 0.22564 0.59558 0.05209 | | R | <br># | U | = |128| + | -0.11992 -0.31656 0.43922 | * | G | <br># | V | |128| | 0.42941 -0.40389 -0.03533 | | B | <br> |
父主题: 数据类型及其操作接口
aclrtContext
typedef void *aclrtContext;
父主题: 数据类型及其操作接口
aclrtStream
typedef void *aclrtStream;
父主题: 数据类型及其操作接口
在线提单