hi_vdec_get_pic_buf_size
hi_mpi_vdec_release_frame
函数功能
解码之后,释放资源。
约束说明
- 此接口需与hi_mpi_vdec_get_frame配对使用,获取的数据应当在使用完之后立即释放,如果不及时释放,会导致解码过程阻塞等待资源。
- 释放的数据必须是调用hi_mpi_vdec_get_frame接口从该通道获取的数据,不得对数据信息结构体进行任何修改。
函数原型
hi_s32 hi_mpi_vdec_release_frame(hi_vdec_chn chn, const hi_video_frame_info *frame_info)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| chn | 输入 | 解码通道号。 Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),JPEGD功能和VDEC功能共用通道,且通道总数最多128。 |
| frame_info | 输入 | 解码后的图像信息指针,调用hi_mpi_vdec_get_frame接口获取。 |
返回值说明
- 0:成功
- 非0:失败,参见VDEC视频解码/JPEGD图片解码返回码
参考资源
接口调用流程及示例,参见JPEGD图片解码、VDEC视频解码。
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或正数值:有效返回值
- 非正数值:无效返回值
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。 |
返回值说明
- 0:成功
- 非0:失败,参见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视频解码。
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视频解码。
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解码输出图片的宽、高对齐模式。 |
返回值说明
- 0:成功
- 非0:失败,参见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参数返回。 |
返回值说明
- 0:成功
- 非0:失败,参见公共返回码、VDEC视频解码/JPEGD图片解码返回码。
在线提单