Skip to main content

acl.himpi.venc_get_jpeg_huffman_param

acl.himpi.venc_get_rc_param

c函数原型hi_s32 hi_mpi_venc_get_rc_param(hi_venc_chn chn, hi_venc_rc_param *rc_param);
Python函数rc_param, ret = acl.himpi.venc_get_rc_param(chn, mode)
函数功能获取编码通道码率控制器的高级参数的值。
输入说明- chn:编码通道号。
- Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
- mode: 编码通道码率控制器模式,具体请参见hi_venc_rc_mode
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码
rc_param:编码通道码率控制器的高级参数字典,具体请参见hi_venc_rc_param
约束说明本接口在编码通道创建之后、编码通道销毁之前调用。
参考资源

父主题: VENC视频/JPEGE图像编码接口

acl.himpi.venc_set_jpeg_huffman_param

c函数原型hi_s32 hi_mpi_venc_set_jpeg_huffman_param(hi_venc_chn chn, const hi_venc_jpeg_huffman_param *jpeg_huffman_param);
Python函数ret = acl.himpi.venc_set_jpeg_huffman_param(chn, jpeg_huffman_param)
函数功能设置编码通道的JPEGE huffman编码高级参数。
输入说明- chn:编码通道号。
- Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
- jpeg_huffman_param:huffman编码参数字典,具体请参见hi_venc_jpeg_huffman_param
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码
约束说明本接口在编码通道创建之后、编码通道销毁之前调用。
参考资源

父主题: VENC视频/JPEGE图像编码接口

acl.himpi.venc_get_jpeg_huffman_param

c函数原型hi_s32 hi_mpi_venc_get_jpeg_huffman_param(hi_venc_chn chn, hi_venc_jpeg_huffman_param *jpeg_huffman_data);
Python函数jpeg_huffman_data, ret = acl.himpi.venc_get_jpeg_huffman_param(chn)
函数功能获取编码通道的JPEGE huffman编码高级参数。
输入说明chn:编码通道号。
- Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码
jpeg_huffman_data:huffman高级参数字典,具体请参见hi_venc_jpeg_huffman_param
约束说明本接口在编码通道创建之后、编码通道销毁之前调用。 不调用acl.himpi.venc_set_jpeg_huffman_param接口设置huffman编码高级参数时,返回默认的标准huffman编码参数。
参考资源

父主题: VENC视频/JPEGE图像编码接口

acl.himpi.venc_compact_jpeg_tables

c函数原型hi_s32 hi_mpi_venc_compact_jpeg_tables(hi_venc_chn chn, hi_u32 table_type, hi_bool enable);
Python函数ret = acl.himpi.venc_compact_jpeg_tables(chn, table_type, enable)
函数功能配置是否对高级参数huffman或QT表进行压缩。
输入说明- chn:编码通道号。
- Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
- table_type:压缩类型,取值范围:仅支持0,表示huffman表数据和QT量化表数据都压缩。
- enable: 是否压缩,0表示不压缩,1表示压缩。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码
约束说明本接口在编码通道创建之后、编码通道销毁之前调用。 调用此接口后,如果huffman表或QT表的Y、Cb、Cr分量内容一致时,支持压缩。
参考资源

父主题: VENC视频/JPEGE图像编码接口

acl.himpi.venc_send_jpege_frame

c函数原型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)
Python函数ret = acl.himpi.venc_send_jpege_frame(chn, frame, jpege_stream, milli_sec)
函数功能发送原始图像进行图像编码,并支持配置编码结果的输出内存地址。
输入说明- chn:编码通道号。
- Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。
- frame(hi_video_frame_info):原始图像信息字典。
- **jpege_stream(hi_img_stream):**用于指定编码结果的输出内存地址和长度。 输出内存首地址需满足16字节对齐,内存大小可以调用acl.himpi.venc_get_jpege_predicted_size获取,再可调用acl.himpi.dvpp_malloc接口申请输出内存。
- milli_sec:超时时间,单位是毫秒。
- “-1”:阻塞方式。
- “0”:非阻塞方式。
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码
约束说明- 在调用acl.himpi.venc_create_chn接口创建通道时,将参数hi_venc_chn_attr.get("venc_attr")["buf_size"]参数值设置为0,本接口才有效,否则返回错误码HI_ERR_VENC_NOT_SUPPORT。
- JPEGE输入图像分辨率必须小于或等于编码通道的宽、高。
- 调用该接口发送图像,用户需要保证编码通道已创建且开启接收输入图片。
- 编码时,输入、输出内存均需要在调用acl.himpi.venc_get_stream接口获取结果之后才能进行释放。
- 图像编码,对输入、输出的约束请参见JPEGE功能及约束说明
参考资源接口调用流程及示例,参见JPEGE图片编码VENC视频编码

父主题: VENC视频/JPEGE图像编码接口

acl.himpi.venc_get_jpege_predicted_size

c函数原型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)
Python函数size, ret = acl.himpi.venc_get_jpege_predicted_size(frame, jpeg_param)
函数功能预估JPEGE编码一帧图片所需的输出缓冲区大小。
输入说明frame(hi_video_frame_info):int,原始图像信息字典。 jpeg_param(hi_venc_jpeg_param):JPEG协议编码通道的高级参数集合字典,预留参数。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码
size:输出缓冲区大小,单位为Byte。

父主题: VENC视频/JPEGE图像编码接口

在线提单