Skip to main content

hi_frame_rate_ctrl

hi_venc_stream_info

说明

定义码流信息结构体。

定义

typedef struct {
hi_venc_ref_type ref_type;
hi_u32 pic_bytes;
hi_u32 pic_cnt;
hi_u32 start_qp;
hi_u32 mean_qp;
hi_bool is_p_skip;

hi_u32 residual_bits;
hi_u32 head_bits;
hi_u32 madi_val;
hi_u32 madp_val;
hi_u64 sse_sum;
hi_u32 sse_lcu_cnt;
hi_double psnr_val;
} hi_venc_stream_info;

成员

成员名称描述
ref_type高级跳帧参考下的编码帧类型。 Atlas 200/500 A2推理产品,暂不支持该参数。
pic_bytes已编码码流的字节数。
pic_cnt当通道属性is_by_frame == 1时,表示帧数;当is_by_frame == 0时,表示包数。 Atlas 200/500 A2推理产品,暂不支持该参数。
start_qp编码帧的起始QP。
mean_qp编码帧的平均QP。
is_p_skip是否P帧是skip帧。 Atlas 200/500 A2推理产品,暂不支持该参数。
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推理产品,暂不支持该参数。
sse_sum编码当前帧中SSE(和方差)值。 不同软件中关于和方差的计算公式略有不同,因此和方差值可能存在差异。
sse_lcu_cnt编码当前帧中LCU个数。
psnr_val编码当前帧的PSNR(峰值信噪比)值。 不同软件中关于峰值信噪比的计算公式略有不同,因此峰值信噪比值可能存在差异。 对于H264,仅支持输入图片分辨率的乘积小于4096*2032时获取psnr_val值,否则psnr_val值无效。 对于H265,仅支持输入图片分辨率的乘积小于8192*4064时获取psnr_val值,否则psnr_val值无效。

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

hi_venc_pack_info

说明

定义当前码流包数据中包含的其他类型码流包数据的结构体。

定义

typedef struct {
hi_venc_data_type pack_type;
hi_u32 pack_offset;
hi_u32 pack_len;
} hi_venc_pack_info;

成员

成员名称描述
pack_type当前码流包数据包含其他码流包的类型。
pack_offset当前码流包数据包含其他码流包数据的偏移。
pack_len当前码流包数据包含其他码流包数据的大小。

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

hi_frame_rate_ctrl

说明

定义通道帧率控制参数,暂不支持。

定义

typedef struct {
hi_s32 src_frame_rate;
hi_s32 dst_frame_rate;
} hi_frame_rate_ctrl;

成员

成员名称描述
src_frame_rate进入通道的帧率,以fps为单位。 取值范围:-1 或[1, 240]。
dst_frame_rate通道输出的帧率,以fps为单位。 取值范围:
- Jpeg:-1 或[1, src_frame_rate];
- H.264/H.265:-1 或[1, 240]。

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

hi_venc_rc_qpmap_mode

说明

定义编码通道QPMAP模式下CU32、CU64 QP值的取值方式,暂不支持。

定义

typedef enum {
HI_VENC_RC_QPMAP_MODE_MEAN_QP = 0,
HI_VENC_RC_QPMAP_MODE_MIN_QP,
HI_VENC_RC_QPMAP_MODE_MAX_QP,

HI_VENC_RC_QPMAP_MODE_BUTT,
} hi_venc_rc_qpmap_mode;

成员

成员名称描述
HI_VENC_RC_QPMAP_MODE_MEAN_QPCU32 QP值取4个16*16块Qp值的平均值; CU64 QP值取16个16*16块Qp值的平均值。
HI_VENC_RC_QPMAP_MODE_MIN_QPCU32 QP值取4个16*16块Qp值的最小值; CU64 QP值取16个16*16块Qp值的最小值。
HI_VENC_RC_QPMAP_MODE_MAX_QPCU32 QP值取4个16*16块Qp值的最大值; CU64 QP值取16个16*16块Qp值的最大值。
HI_VENC_RC_QPMAP_MODE_BUTT保留值。

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

hi_venc_sse_info

说明

定义H264/H265协议SSE信息,暂不支持。

定义

typedef struct {
hi_bool enable;
hi_u64 sse_val;
} hi_venc_sse_info;

成员

成员名称描述
enable区域SSE使能。1表示使能,0表示不使能。
sse_val区域SSE值。

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

hi_venc_h264_attr

说明

定义H.264编码属性结构体。

定义

typedef struct {
hi_bool rcn_ref_share_buf_en;
hi_u32 frame_buf_ratio;
} hi_venc_h264_attr;

成员

成员名称描述
rcn_ref_share_buf_en是否使能参考帧和回写帧复用buffer。预留参数,暂不支持。 取值范围:[0,1]。1表示使能,0表示不使能。 静态属性。
frame_buf_ratio帧buffer比例,设置该比例后,系统内部会根据该比例压缩帧buffer。 取值范围:[70,100]。比如将frame_buf_ratio设置为80,则表示帧buffer为原始大小的80%。
- 默认值为100,表示不压缩帧buffer;
- 非取值范围内的值,表示不压缩帧buffer;
- [70,100)范围内的值,表示需按比例压缩帧buffer,可能会影响编码质量。建议在图片纹理不复杂、分辨率大于640*480等场景下,对于内存带宽有要求时,可以设置成[70,100)范围内的值。

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

在线提单