Skip to main content

hi_vdec_get_tmv_buf_size

hi_mpi_vdec_get_fd

函数功能

获取视频解码通道的设备文件句柄。

约束说明

在进程退出时会自动关闭文件句柄,回收资源。

函数原型

hi_s32 hi_mpi_vdec_get_fd(hi_vdec_chn chn)

参数说明

参数名输入/输出说明
chn输入解码通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),JPEGD功能和VDEC功能共用通道,且通道总数最多128。

返回值说明

  • 0或正数值:有效返回值
  • 非正数值:无效返回值

父主题: VDEC视频解码功能/JPEGD图片解码功能

hi_mpi_vdec_close_fd

函数功能

关闭视频解码的设备文件句柄。

不支持该接口。

函数原型

hi_s32 hi_mpi_vdec_close_fd(hi_vdec_chn chn)

参数说明

参数名输入/输出说明
chn输入解码通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),JPEGD功能和VDEC功能共用通道,且通道总数最多128。

返回值说明

父主题: VDEC视频解码功能/JPEGD图片解码功能

hi_vdec_get_pic_buf_size

函数功能

获取解码图像需要的Buffer大小。用户在两个地方有使用这个函数:计算视频解码需要的内部缓冲区的大小,在初始化的时候配置对应的通道参数;计算图像解码的输出内存。

约束说明

提供给用户来计算输出图片缓冲区大小。

函数原型

hi_u32 hi_vdec_get_pic_buf_size(hi_payload_type type, hi_pic_buf_attr *buf_attr)

参数说明

参数名输入/输出说明
type输入解码视频类型,当前支持HI_PT_H264、HI_PT_H265、HI_PT_JPEG。
buf_attr输入图片缓冲区信息的指针。

返回值说明

图像存储需要的图像大小。

解码视频类型为HI_PT_JPEG(表示JPEGD解码)时,pixel_format传入不支持的格式或者HI_PIXEL_FORMAT_UNKNOWN,返回值为0。

参考资源

接口调用流程及示例,参见VDEC视频解码

父主题: VDEC视频解码功能/JPEGD图片解码功能

hi_vdec_get_tmv_buf_size

函数功能

获取解码图像需要的矢量预测缓冲区的大小。

约束说明

提供给用户来计算矢量预测缓冲区大小,在创建通道的时候初始化对应的参数。

函数原型

hi_u32 hi_vdec_get_tmv_buf_size(hi_payload_type type, hi_u32 width, hi_u32 height)

参数说明

参数名输入/输出说明
type输入解码视频类型。
width输入解码图像宽。
height输入解码图像高。

返回值说明

图像存储需要矢量预测缓冲区大小。

参考资源

接口调用流程及示例,参见VDEC视频解码

父主题: VDEC视频解码功能/JPEGD图片解码功能

hi_mpi_vdec_set_jpegd_precision_mode

函数功能

设置JPEGD解码输出图片的宽、高对齐模式。

约束说明

  • 调用本接口设置对齐模式前,必须保证通道已创建,否则会返回通道未创建的错误码HI_ERR_VDEC_UNEXIST。
  • 调用本接口设置对齐模式,仅对JPEGD解码通道有效,其它类型通道返回操作不支持。
  • 在调用hi_mpi_vdec_start_recv_stream接口之前调用本接口设置对齐模式,在调用hi_mpi_vdec_start_recv_stream接口之后调用本接口,系统会返回操作不允许的错误提示。

函数原型

hi_s32 hi_mpi_vdec_set_jpegd_precision_mode(hi_vdec_chn chn, const hi_jpegd_precision_mode mode)

参数说明

参数名输入/输出说明
chn输入解码通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),JPEGD功能和VDEC功能共用通道,且通道总数最多128。
mode输入设置JPEGD解码输出图片的宽、高对齐模式。

返回值说明

父主题: VDEC视频解码功能/JPEGD图片解码功能

hi_mpi_vdec_get_jpegd_output_info

函数功能

图片解码场景下,根据输入码流,获取按源图格式或指定图片格式输出时的图片宽、高、宽stride、高stride、解码后占用的内存大小、图片格式等信息。

该接口会检查图片格式是否支持解码,如果遇到不支持的码流则该接口会返回HI_ERR_VDEC_NOT_SUPPORT错误码,该错误码的详细描述请参见公共返回码

函数原型

hi_s32 hi_mpi_vdec_get_jpegd_output_info(const hi_vdec_stream *stream, const hi_pixel_format output_format, hi_img_info *img_info)

参数说明

参数名输入/输出说明
stream输入输入码流信息的指针。 Atlas 200/500 A2推理产品,RC模式下,在Device上调用本接口时,该结构体内的addr参数配置的地址必须是Device上的内存地址。
output_format输入输出图片格式。 若按源图格式获取相关信息,则将该参数值设置为HI_PIXEL_FORMAT_UNKNOWN;若按指定格式获取相关信息,则将该参数值设置为对应的图片格式,支持的图片格式请参见图片格式、宽高对齐、内存约束
img_info输出输出图片信息结构体,包含图片宽、高、宽stride、高stride、解码后占用的内存大小、图片格式等信息。 其中,输出图片格式,通过img_pixel_format参数返回。

返回值说明

父主题: VDEC视频解码功能/JPEGD图片解码功能

hi_mpi_vdec_set_display_mode

函数功能

若调用hi_mpi_sys_bind接口绑定数据接收者VPSS与数据源VDEC后,可调用本接口设置显示模式。不设置显示模式时,默认为回放模式。

约束说明

  • 设置显示模式前必须保证通道已创建,否则会返回通道未创建的错误码HI_ERR_VDEC_UNEXIT。
  • 预览模式(HI_VIDEO_DISPLAY_MODE_PREVIEW):预览模式下VDEC绑定的直接后级模块(比如 VPSS)以非阻塞方式接收解码图像,即当VPSS的图像Buffer满时(解码帧存个数比 VPSS 缓存队列个数多), VPSS丢弃VDEC发送过来的图像,以达到不反压VDEC 解码的目的,实现实时预览。需要注意的是, 当解码帧存个数比VPSS缓存队列个数少时,即使开启预览模式, VPSS还是会反压解码。
  • 回放模式(HI_VIDEO_DISPLAY_MODE_PLAYBACK):回放模式下VDEC绑定的直接后级模块(比如 VPSS)以阻塞方式接收解码图像, 即当VPSS的图像Buffer满时,拒绝接收VDEC发送过来的图像, VDEC发现当前图像发送失败后启动图像重新发送机制,直到图像发送成功为止。回放模式下VDEC绑定的直接后级模块能够反压VDE 解码,以达到不丢弃任何一帧解码图像的回放效果。

函数原型

hi_s32 hi_mpi_vdec_set_display_mode(hi_vdec_chn chn, hi_video_display_mode display_mode)

参数说明

参数名输入/输出说明
chn输入解码通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),JPEGD功能和VDEC功能共用通道,且通道总数最多128。
display_mode输入显示模式枚举。

返回值说明

父主题: VDEC视频解码功能/JPEGD图片解码功能

在线提单