跳到主要内容

hi_venc_data_type

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图像编码

hi_venc_h265_adv_stream_info

说明

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

定义

typedef struct &#123;
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_scene32x32_num;
hi_u32 move_scene_bits;
&#125; hi_venc_h265_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(峰值信噪比)值 。 不同软件中关于峰值信噪比的计算公式略有不同,因此峰值信噪比值可能存在差异。 仅支持输入图片分辨率的乘积小于8192*4064时获取psnr_val值,否则psnr_val值无效。
sse_lcu_cnt编码当前帧中LCU个数 。
sse_sum编码当前帧中SSE(和方差)值。 不同软件中关于和方差的计算公式略有不同,因此和方差值可能存在差异。
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_scene32x32_num判断为图像前景的32*32块的数目,需要开启前景宏块级码控制。 Atlas 200/500 A2推理产品,暂不支持该参数。
move_scene_bits判断为图像前景区域编码bit数,需要开启前景宏块级码控制。 Atlas 200/500 A2推理产品,暂不支持该参数。

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

hi_venc_data_type

说明

定义码流结果类型。

定义

typedef union &#123;
hi_venc_h264_nalu_type h264_type;
hi_venc_jpege_pack_type jpeg_type;
hi_venc_h265_nalu_type h265_type;
hi_venc_prores_pack_type prores_type;
&#125; hi_venc_data_type;

成员

成员名称描述
h264_typeH.264码流包类型。
jpeg_typeJPEG码流包类型。
h265_typeH.265码流包类型。
prores_typePRORES码流包类型。

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

hi_venc_h264_nalu_type

说明

定义H.264码流NALU类型。

定义

typedef enum &#123;
HI_VENC_H264_NALU_B_SLICE = 0, // B SLICE types
HI_VENC_H264_NALU_P_SLICE = 1, // P SLICE types
HI_VENC_H264_NALU_I_SLICE = 2, // I SLICE types
HI_VENC_H264_NALU_IDR_SLICE = 5, // IDR SLICE types
HI_VENC_H264_NALU_SEI = 6, // SEI types
HI_VENC_H264_NALU_SPS = 7, // SPS types
HI_VENC_H264_NALU_PPS = 8, // PPS types
HI_VENC_H264_NALU_BUTT
&#125; hi_venc_h264_nalu_type;

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

hi_venc_jpege_pack_type

说明

定义JPEG码流的PACK类型。

定义

typedef enum &#123;
HI_VENC_JPEG_PACK_ECS = 5, // ECS types
HI_VENC_JPEG_PACK_APP = 6, // APP types
HI_VENC_JPEG_PACK_VDO = 7, // VDO types
HI_VENC_JPEG_PACK_PIC = 8, // PIC types
HI_VENC_JPEG_PACK_DCF = 9, // DCF types
HI_VENC_JPEG_PACK_DCF_PIC = 10, // DCF PIC types
HI_VENC_JPEG_PACK_BUTT
&#125; hi_venc_jpege_pack_type;

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

hi_venc_h265_nalu_type

说明

定义H.265码流NALU类型。

定义

typedef enum &#123;
HI_VENC_H265_NALU_B_SLICE = 0, // B SLICE types
HI_VENC_H265_NALU_P_SLICE = 1, // P SLICE types
HI_VENC_H265_NALU_I_SLICE = 2, // I SLICE types
HI_VENC_H265_NALU_IDR_SLICE = 19, // IDR SLICE types
HI_VENC_H265_NALU_VPS = 32, // VPS types
HI_VENC_H265_NALU_SPS = 33, // SPS types
HI_VENC_H265_NALU_PPS = 34, // PPS types
HI_VENC_H265_NALU_SEI = 39, // SEI types
HI_VENC_H265_NALU_ENHANCE = 64, // ENHANCE typesHI_VENC_H265_NALU_BUTT
&#125; hi_venc_h265_nalu_type;

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

在线提单