跳到主要内容

hi_mpi_venc_get_jpeg_huffman_param

hi_mpi_venc_set_rc_param

函数功能

设置视频编码通道码率控制器的高级参数的值。

约束说明

  • 本接口在编码通道创建之后、编码通道销毁之前调用。
  • 如果不调用本接口设置编码通道码率控制器的高级参数的值,就会默认采用这些高级参数的默认值。
  • 建议用户先调用hi_mpi_venc_get_rc_param接口获取编码通道码率控制器的高级参数的值,再调用本接口对高级参数进行设置。

函数原型

hi_s32 hi_mpi_venc_set_rc_param(hi_venc_chn chn, const hi_venc_rc_param *rc_param)

参数说明

参数名输入/输出说明
chn输入编码通道号。 Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
rc_param输入编码通道码率控制器的高级参数的指针。

返回值说明

父主题: VENC视频编码功能/JPEGE图片编码功能

hi_mpi_venc_get_rc_param

函数功能

获取视频编码通道码率控制器的高级参数的值。

约束说明

本接口在编码通道创建之后、编码通道销毁之前调用。

函数原型

hi_s32 hi_mpi_venc_get_rc_param(hi_venc_chn chn, hi_venc_rc_param *rc_param)

参数说明

参数名输入/输出说明
chn输入编码通道号。 Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
rc_param输出编码通道码率控制器的高级参数的指针。

返回值说明

父主题: VENC视频编码功能/JPEGE图片编码功能

hi_mpi_venc_set_jpeg_huffman_param

函数功能

设置编码通道的JPEGE huffman编码高级参数。

约束说明

本接口在编码通道创建之后、编码通道销毁之前调用。

函数原型

hi_s32 hi_mpi_venc_set_jpeg_huffman_param(hi_venc_chn chn, const hi_venc_jpeg_huffman_param *jpeg_huffman_param)

参数说明

参数名输入/输出说明
chn输入编码通道号。 Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
jpeg_huffman_param输入huffman编码参数的指针。

返回值说明

父主题: VENC视频编码功能/JPEGE图片编码功能

hi_mpi_venc_get_jpeg_huffman_param

函数功能

获取编码通道的JPEGE huffman编码高级参数。

约束说明

  • 本接口在编码通道创建之后、编码通道销毁之前调用。
  • 不调用hi_mpi_venc_set_jpeg_huffman_param接口设置huffman编码高级参数时,返回默认的标准huffman编码参数。

函数原型

hi_s32 hi_mpi_venc_get_jpeg_huffman_param(hi_venc_chn chn, hi_venc_jpeg_huffman_param *jpeg_huffman_data)

参数说明

参数名输入/输出说明
chn输入编码通道号。 Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
jpeg_huffman_data输出huffman高级参数的指针。

返回值说明

父主题: VENC视频编码功能/JPEGE图片编码功能

hi_mpi_venc_compact_jpeg_tables

函数功能

配置是否对高级参数huffman或QT表进行压缩。

约束说明

本接口在编码通道创建之后、编码通道销毁之前调用。

调用此接口后,如果huffman表或QT表的Y、Cb、Cr分量内容一致时,支持压缩。

函数原型

hi_s32 hi_mpi_venc_compact_jpeg_tables(hi_venc_chn chn, hi_u32 table_type, hi_bool enable)

参数说明

参数名输入/输出说明
chn输入编码通道号。 Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
table_type输入压缩类型,取值范围:仅支持0,表示huffman表数据和QT量化表数据都压缩。
enable输入是否压缩,0表示不压缩,1表示压缩。

返回值说明

父主题: VENC视频编码功能/JPEGE图片编码功能

hi_mpi_venc_send_jpege_frame

函数功能

发送原始图像进行图像编码,并支持配置编码结果的输出内存地址。

约束说明

  • 在调用hi_mpi_venc_create_chn接口创建通道时,将参数hi_venc_chn_attr.venc_attr.buf_size参数值设置为0,本接口才有效,否则返回错误码HI_ERR_VENC_NOT_SUPPORT。
  • JPEGE输入图像分辨率必须小于或等于编码通道的宽、高。
  • 调用该接口发送图像,用户需要保证编码通道已创建且开启接收输入图片。
  • 编码时,输入、输出内存均需要在调用hi_mpi_venc_get_stream接口获取结果之后才能进行释放。
  • 图像编码,对输入、输出的约束请参见JPEGE功能及约束说明

函数原型

hi_s32 hi_mpi_venc_send_jpege_frame(hi_venc_chn chn, const hi_video_frame_info *frame, const hi_img_stream* jpege_stream, hi_s32 milli_sec)

参数说明

参数名输入/输出说明
chn输入编码通道号。 Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
frame输入原始图像信息的指针。
jpege_stream输入用于指定编码结果的输出内存地址和长度。 输出内存首地址需满足16字节对齐,内存大小可以调用hi_mpi_venc_get_jpege_predicted_size获取,再可调用hi_mpi_dvpp_malloc接口申请输出内存。
milli_sec输入超时时间,单位是毫秒。
- -1:阻塞方式
- 0:非阻塞方式
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。

返回值说明

父主题: VENC视频编码功能/JPEGE图片编码功能

hi_mpi_venc_get_jpege_predicted_size

函数功能

预估JPEGE编码一帧图片所需的输出缓冲区大小。

函数原型

hi_s32 hi_mpi_venc_get_jpege_predicted_size(const hi_video_frame_info* frame, const hi_venc_jpeg_param* jpeg_param, hi_u32 *size)

参数说明

参数名输入/输出说明
frame输入原始图像信息的指针。
jpeg_param输入JPEG协议编码通道的高级参数集合的指针,预留参数。
size输出输出缓冲区大小的指针,单位为Byte。

返回值说明

父主题: VENC视频编码功能/JPEGE图片编码功能

在线提单