Skip to main content

acl.himpi.vdec_close_fd

acl.himpi.vdec_release_frame

c函数原型hi_s32 hi_mpi_vdec_release_frame(hi_vdec_chn chn, const hi_video_frame_info *****frame_info);
Python函数ret = acl.himpi.vdec_release_frame(chn, frame_info)
函数功能解码之后,释放资源。
输入说明- chn:解码通道号。
- Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),JPEGD功能和VDEC功能共用通道,且通道总数最多128。
- frame_info:解码后的图像信息字典,调用acl.himpi.vdec_get_frame接口获取,具体请参见hi_video_frame_info
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VDEC视频/JPEGD图像解码返回码
- 如果在解码图像时未创建通道,则会返回HI_ERR_VDEC_UNEXIST的错误码。
- 如果在获取图像的过程中销毁通道,则会返回HI_ERR_VDEC_UNEXIST的错误码。
- 如果在获取解码图像的过程中复位通道,则会返回HI_ERR_VDEC_UNEXIST的错误码。
- 以非阻塞方式获取解码图像,如果缓冲区内无图像,则会返回HI_ERR_VDEC_BUF_EMPTY的错误码。
- 以超时方式获取解码图像,到达设定的超时时间还不能获取到硬件解码结果则会返回HI_ERR_VDEC_BUF_EMPTY的错误码,此时则可增大超时时间,或循环调用本接口等待解码结果。
约束说明- 此接口需与acl.himpi.vdec_get_frame配对使用,获取的数据应当在使用完之后立即释放,如果不及时释放,会导致解码过程阻塞等待资源。
- 释放的数据必须是调用acl.himpi.vdec_get_frame接口从该通道获取的数据,不得对数据信息字典进行任何修改。
参考资源接口调用流程,参见JPEGD图片解码VDEC视频解码

父主题: VDEC视频解码/JPEGD图像解码接口

acl.himpi.vdec_get_fd

c函数原型hi_s32 hi_mpi_vdec_get_fd(hi_vdec_chn chn);
Python函数ret = acl.himpi.vdec_get_fd(chn)
函数功能获取视频解码通道的设备文件句柄。
输入说明chn:解码通道号。
- Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),JPEGD功能和VDEC功能共用通道,且通道总数最多128。
返回值说明ret:int,错误码。
- 0或正数值:有效返回值。
- 非正数值:无效返回值。
约束说明在进程退出时会自动关闭文件句柄,回收资源。
参考资源

父主题: VDEC视频解码/JPEGD图像解码接口

acl.himpi.vdec_close_fd

c函数原型hi_s32 hi_mpi_vdec_close_fd(hi_vdec_chn chn);
Python函数ret = acl.himpi.vdec_close_fd(chn)
函数功能关闭视频解码的设备文件句柄。 当前版本不支持该接口。
输入说明chn:解码通道号。
- Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),JPEGD功能和VDEC功能共用通道,且通道总数最多128。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VDEC视频/JPEGD图像解码返回码

父主题: VDEC视频解码/JPEGD图像解码接口

acl.himpi.vdec_get_pic_buf_size

c函数原型hi_u32 hi_vdec_get_pic_buf_size(hi_payload_type type, hi_pic_buf_attr *buf_attr);
Python函数ret = acl.himpi.vdec_get_pic_buf_size(type, buf_attr)
函数功能获取解码图像需要的Buffer大小。用户在两个地方有使用这个函数:计算视频解码需要的内部缓冲区的大小,在初始化的时候配置对应的通道参数;计算图像解码的输出内存。
输入说明- type:解码视频类型,当前支持HI_PT_H264、HI_PT_H265、HI_PT_JPEG。
- buf_attr:图片参数字典。
返回值说明ret:图像存储需要的图像大小。
- 非0为需要存储的图像大小。
- 若解码视频类型为HI_PT_JPEG(表示JPEGD解码)时,pixel_format传入不支持的格式或者“HI_PIXEL_FORMAT_UNKNOWN”,返回值为“0”。
约束说明提供给用户来计算输出图片缓冲区大小。
参考资源接口调用流程及示例,参见VDEC视频解码

父主题: VDEC视频解码/JPEGD图像解码接口

acl.himpi.vdec_get_tmv_buf_size

c函数原型hi_u32 hi_vdec_get_tmv_buf_size(hi_payload_type type, hi_u32 width, hi_u32 height);
Python函数ret = acl.himpi.vdec_get_tmv_buf_size(type, width, height)
函数功能取解码图像需要的矢量预测缓冲区的大小。
输入说明- type:解码视频类型。
- width:解码图像宽。
- height:解码图像高。
返回值说明图像存储需要矢量预测缓冲区大小。
约束说明提供给用户来计算矢量预测缓冲区大小,在创建通道的时候初始化对应的参数。
参考资源接口调用流程及示例,参见VDEC视频解码

父主题: VDEC视频解码/JPEGD图像解码接口

acl.himpi.vdec_set_jpegd_precision_mode

c函数原型hi_u32 **hi_mpi_vdec_set_jpegd_precision_mode(**hi_vdec_chn chn, const hi_jpegd_precision_mode mode)
Python函数ret = acl.himpi.vdec_set_jpegd_precision_mode(chn, mode)
函数功能设置JPEGD解码输出图片的宽、高对齐模式。
输入说明- chn:解码通道号。
- Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),JPEGD功能和VDEC功能共用通道,且通道总数最多128。
- mode:设置JPEGD解码输出图片的宽、高对齐模式。
返回值说明ret:int,错误码。
- 0:成功
- 非0:失败,参见VDEC视频/JPEGD图像解码返回码
约束说明- 调用本接口设置对齐模式前,必须保证通道已创建,否则会返回通道未创建的错误码HI_ERR_VDEC_UNEXIST。
- 调用本接口设置对齐模式仅对JPEGD解码通道有效,其它类型通道返回操作不支持。
- 在调用acl.himpi.vdec_start_recv_stream接口之前调用本接口设置对齐模式,在调用acl.himpi.vdec_start_recv_stream接口之后调用本接口,系统会返回操作不允许的错误提示。

父主题: VDEC视频解码/JPEGD图像解码接口

在线提单