Skip to main content

hi_venc_jpeg_mod_param

hi_venc_h265_mod_param

说明

Device上的venc内h265e模块参数。

定义

typedef struct {
hi_u32 one_stream_buf;
hi_u32 mini_buf_mode;
hi_u32 low_power_mode;
hi_vb_src vb_src;
hi_bool qp_hist_en;
hi_u32 max_user_data_len;
} hi_venc_h265_mod_param;

成员

成员名称描述
one_stream_buf编码码流帧配置模式,默认值为1。
- 0:多包模式。
- 1:单包模式。
mini_buf_mode编码码流buffer配置模式,暂不支持,默认值为1。
- 0:码流buffer 根据分辨率分配。
- 1:码流buffer下限为32k,用户保证合理。
low_power_mode低功耗模式,暂不支持,默认值为0。
- 0:关闭低功耗模式。
- 1:使能低功耗模式。
- 2:使能极低功耗模式。
注意:低功耗或者极低功耗使能后会导致图像质量损失。
vb_src参考帧和重构帧的帧存分配方式,默认值为HI_VB_SRC_PRIVATE。
- HI_VB_SRC_PRIVATE:私有VB方式,驱动内部完成帧存分配。
- HI_VB_SRC_USER:用户VB,需由用户分配帧存,暂不支持。
qp_hist_enQp 直方图输出控制模式,暂不支持,默认值为1。
- 0:Qp 直方图不输出,即hi_venc_h265_adv_stream_info中的成员变量 qp_hist为全0。
- 1:Qp 直方图输出,即hi_venc_h265_adv_stream_info中的成员变量 qp_hist为实际的当前帧的QP直方图 。
max_user_data_len用户数据所占内存的最大大小,单位Byte,暂不支持,默认值为1024。

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

hi_venc_jpeg_mod_param

说明

Device上的venc内jpege模块中参数。

定义

typedef struct {
hi_u32 one_stream_buf;
hi_u32 mini_buf_mode;
hi_u32 clear_stream_buf;
hi_u32 dering_mode;
} hi_venc_jpeg_mod_param;

成员

成员名称描述
one_stream_buf编码码流帧配置模式,默认值为1。
- 0:多包模式,暂不支持
- 1:单包模式
mini_buf_mode编码码流buffer配置模式,暂不支持,默认值为0。
- 0:码流buffer根据分辨率分配。
- 1:码流buffer下限为32k,用户保证合理。
clear_stream_bufJPEG 编码通道设置属性时是否清空码流buffer,暂不支持,默认值为1。
- 0:设置通道属性时保留码流buffer 和上下文计数。
- 1:设置通道属性时清空码流buffer。
dering_mode预留参数,暂不使用,默认值为0。

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

hi_venc_jpeg_param

说明

用于设置或者获取指定JPEGE编码通道的量化参数的数据结构。

定义

typedef struct {
hi_u32 qfactor;
hi_u8 y_qt[64];
hi_u8 cb_qt[64];
hi_u8 cr_qt[64];
hi_u32 mcu_per_ecs;
hi_bool ecs_output_en;
} hi_venc_jpeg_param;

成员

成员名称描述
qfactor编码质量范围0xFFFFFFFF或[1, 100],数值越小图片质量越差,默认100。
- 0xFFFFFFFF:配置成该值,则用户需要自行配置y_qt、cb_qt、cr_qt,量化表的配置会影响最后的编码结果。
- [1, 100]:配置成该范围内的值,表示y_qt、cb_qt、cr_qt参数不生效,以系统默认的为准。
y_qtY量化表。 取值范围:[1, 255]。
cb_qtCb量化表。 取值范围:[1, 255]。
cr_qtCr量化表。 取值范围:[1, 255]。
mcu_per_ecs每个ECS中包含多少个MCU,系统默认为 0,表示不划分Ecs,预留参数,当前不支持。 mcu_per_ecs:[0, (picwidth+15)>>4*(picheight+15)>>4*2]
ecs_output_en预留参数,暂不支持。

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

hi_venc_h264_adv_stream_info

说明

定义H.264协议码流高级特征信息。

定义

typedef struct {
hi_u32 residual_bits;
hi_u32 head_bits;
hi_u32 madi_val;
hi_u32 madp_val;
hi_double psnr_val;
hi_u32 sse_lcu_cnt;
hi_u64 sse_sum;
hi_venc_sse_info sse_info[HI_VENC_MAX_SSE_NUM];
hi_u32 qp_hist[HI_VENC_QP_HIST_NUM];
hi_u32 move_scene16x16_num;
hi_u32 move_scene_bits;
} hi_venc_h264_adv_stream_info;

成员

成员名称描述
residual_bits编码当前帧残差(bit)数 。 Atlas 200/500 A2推理产品,暂不支持该参数。
head_bits编码当前帧头信息的(bit)数 。 Atlas 200/500 A2推理产品,暂不支持该参数。
madi_val编码当前帧空域纹理复杂度Madi值 。 Atlas 200/500 A2推理产品,暂不支持该参数。
madp_val编码当前帧时域运动复杂度Madp值。 Atlas 200/500 A2推理产品,暂不支持该参数。
psnr_val编码当前帧的PSNR(Peak signal-to-noise ratio)(峰值信噪比)值 。 不同软件中关于峰值信噪比的计算公式略有不同,因此峰值信噪比值可能存在差异。 仅支持输入图片分辨率的乘积小于4096*2032时获取psnr_val值,否则psnr_val值无效。
sse_lcu_cnt编码当前帧中LCU(Largest Coding Unit)个数 。
sse_sum编码当前帧中SSE(sum of squared errors )(和方差)值。 不同软件中关于和方差的计算公式略有不同,因此和方差值可能存在差异。
sse_info编码当前帧中8个区域的SSE(和方差)值。 不同软件中关于和方差的计算公式略有不同,因此和方差值可能存在差异。
text<br>#define HI_VENC_MAX_SSE_NUM 8<br>
qp_hist编码当前帧Qp直方图。 Atlas 200/500 A2推理产品,暂不支持该参数。
text<br>#define HI_VENC_QP_HIST_NUM 52<br>
move_scene16x16_num判断为图像前景的16*16块的数目,需要开启前景宏块级码控制。 Atlas 200/500 A2推理产品,暂不支持该参数。
move_scene_bits判断为图像前景区域编码bit数,需要开启前景宏块级码控制。 Atlas 200/500 A2推理产品,暂不支持该参数。

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

在线提单