aclvdecChannelDescParamType

enum aclvdecChannelDescParamType {
    ACL_VDEC_CSC_MATRIX_UINT32 = 0,      //色域转换矩阵属性,该属性类型对应的值为uint32_t类型
    ACL_VDEC_OUT_MODE_UINT32,            //是否实时出帧,该属性类型对应的值为uint32_t类型
    ACL_VDEC_THREAD_ID_UINT64,           //回调线程ID,该属性类型对应的值为uint64_t类型
    ACL_VDEC_CALLBACK_PTR,               //回调函数,该属性类型对应的值是内存指针
    ACL_VDEC_CHANNEL_ID_UINT32,          //通道号,该属性类型对应的值为uint32_t类型
    ACL_VDEC_ENCODE_TYPE_UINT32,         //视频编码协议,该属性类型对应的值为uint32_t类型
    ACL_VDEC_OUT_PIC_FORMAT_UINT32,      //输出图片格式,该属性类型对应的值为uint32_t类型
    ACL_VDEC_OUT_PIC_WIDTH_UINT32,       //解码码流最大宽度,该属性类型对应的值为uint32_t类型
    ACL_VDEC_OUT_PIC_HEIGHT_UINT32,      //解码码流最大高度,该属性类型对应的值为uint32_t类型
    ACL_VDEC_REF_FRAME_NUM_UINT32,       //参考帧数量,该属性类型对应的值为uint32_t类型
    ACL_VDEC_BIT_DEPTH_UINT32            //视频位宽,该属性类型对应的值为uint32_t类型
}
表1 属性配置

属性类型

取值说明

ACL_VDEC_CSC_MATRIX_UINT32

色域转换矩阵属性,属性值请参见acldvppCscMatrix

Atlas 200/300/500 推理产品,不支持该选项。

Atlas 训练系列产品,不支持该选项。

ACL_VDEC_OUT_MODE_UINT32

设置是否实时出帧(即发送一帧解码一帧,无需依赖后续帧的传入)。

取值范围如下:
  • 0:默认出帧模式,由于解码过程中存在缓存帧,无法实时输出,因此VDEC需要在收到码流中的多帧数据后,才开始输出解码结果。
  • 1:快速出帧模式,VDEC获取码流中的一帧数据后,就开始实时输出解码结果。只支持简单参考关系的H264/H265标准码流(无长期参考帧,无B帧)。

ACL_VDEC_THREAD_ID_UINT64

回调线程ID。

说明:

同一个进程内,在不同的Device上注册VDEC解码回调函数的线程时,不能指定同一个线程ID。

同一个Device上,多路VDEC解码可以指定同一个线程ID,但相比一个线程处理一路VDEC解码任务来说,一个线程内串行处理多路VDEC解码任务时,VDEC解码性能可能下降。

ACL_VDEC_CALLBACK_PTR

解码回调函数。

请参见aclvdecCallback

ACL_VDEC_CHANNEL_ID_UINT32

通道ID。

Atlas 200/300/500 推理产品,该参数值的取值范围[0, 31]。

Atlas 训练系列产品,该参数值的取值范围[0, 31]。

Atlas A2训练系列产品,该参数值的取值范围[0, 255]。

Atlas 推理系列产品(Ascend 310P处理器),该参数值的取值范围[0, 255]。

ACL_VDEC_ENCODE_TYPE_UINT32

视频编码协议H265-main level(0)、H264-baseline level(1)、H264-main level(2)、H264-high level(3)。

请参见acldvppStreamFormat

ACL_VDEC_OUT_PIC_FORMAT_UINT32

YUV图像存储格式,支持如下格式:
  • YUV420SP NV12
  • YUV420SP NV21
  • RGB888,Atlas 200/300/500 推理产品不支持该格式,Atlas 训练系列产品不支持该格式
  • BGR888,Atlas 200/300/500 推理产品不支持该格式,Atlas 训练系列产品不支持该格式

如果不设置输出格式,默认使用YUV420SP NV12。

ACL_VDEC_OUT_PIC_WIDTH_UINT32

解码码流最大宽度。

Atlas 200/300/500 推理产品,如果不设置解码码流最大宽度,内部默认使用1920。

Atlas 训练系列产品,如果不设置解码码流最大宽度,内部默认使用1920。

Atlas A2训练系列产品,如果不设置解码码流最大宽度,内部默认使用4096。

Atlas 推理系列产品(Ascend 310P处理器),如果不设置解码码流最大宽度,内部默认使用4096。

ACL_VDEC_OUT_PIC_HEIGHT_UINT32

解码码流最大高度。

Atlas 200/300/500 推理产品,如果不设置解码码流最大高度,内部默认使用1120。

Atlas 训练系列产品,如果不设置解码码流最大高度,内部默认使用1120。

Atlas A2训练系列产品,如果不设置解码码流最大高度,内部默认使用4096。

Atlas 推理系列产品(Ascend 310P处理器),如果不设置解码码流最大高度,内部默认使用4096。

ACL_VDEC_REF_FRAME_NUM_UINT32

参考帧数量,取值范围[0, 16]。

Atlas 200/300/500 推理产品,当前版本不支持用户设置该参数。

Atlas 训练系列产品,当前版本不支持用户设置该参数。

Atlas A2训练系列产品,如果不设置参考帧数量,内部默认使用8。

Atlas 推理系列产品(Ascend 310P处理器),如果不设置参考帧数量,内部默认使用8。

ACL_VDEC_BIT_DEPTH_UINT32

设置视频位宽,默认值为10-bit。

取值范围如下:
  • 0:8-bit
  • 1: 10-bit(默认值)

Atlas 200/300/500 推理产品,当前版本不支持用户设置该参数。

Atlas 训练系列产品,当前版本不支持用户设置该参数。