跳到主要内容

hi_venc_h265_vui

hi_venc_roi_attr

说明

定义编码感兴趣区域信息。

定义

typedef struct {
hi_u32 idx;
hi_bool enable;
hi_bool is_abs_qp;
hi_s32 qp;
hi_rect rect;
} hi_venc_roi_attr;

成员

成员名称描述
idxROI区域的索引,系统支持的索引范围为[0,7],不支持超出这个范围的索引。 系统支持每个通道可设置8个ROI区域,系统内部按照07的索引号对ROI区域进行管理。ROI区域之间可以互相叠加,且当发生叠加时,ROI区域之间的优先级按照索引号07依次提高。
enable是否使能这个ROI区域。 Cb分量和Cr分量需保持一致。
is_abs_qp表示ROI区域的QP模式,指定当前的ROI区域采用绝对QP方式或是相对QP 。
- HI_FALSE:相对QP
- HI_TURE:绝对QP
qpQP值,当QP模式为HI_FALSE时,qp为QP偏移,qp范围[-51,51],当QP模式为HI_TRUE时,qp为宏块QP值,qp范围[0,51]。
rect指定当前的ROI区域的位置坐标和区域的大小。 ROI区域的起始点坐标必须在图像范围内,且必须16对齐;ROI区域必须在图像范围内,ROI区域的长宽必须是16对齐并且大于0。即,x、y、width、height必须是16对齐。

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

hi_venc_ref_param

说明

定义H.264/H.265编码的高级跳帧参考参数。

定义

typedef struct {
hi_u32 base;
hi_u32 enhance;
hi_bool pred_en;
} hi_venc_ref_param;

成员

成员名称描述
basebase层的周期。 取值范围:(0,+∞ )。
enhanceenhance层的周期。 取值范围:[0, 255]。
pred_en代表base层的帧是否被base层其他帧用作参考。当pred_en设置为HI_FALSE时,等同于base设置为无限大,base 层的所有帧都参考IDR 帧。

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

hi_venc_h264_vui

说明

定义H.264协议编码通道Vui结构体。

定义

typedef struct {
hi_venc_vui_aspect_ratio vui_aspect_ratio;
hi_venc_vui_h264_time_info vui_time_info;
hi_venc_vui_video_signal vui_video_signal;
hi_venc_vui_bitstream_restric vui_bitstream_restric;
} hi_venc_h264_vui;

成员

成员名称描述
vui_aspect_ratio预留参数,具体含义请参见H.264协议。
vui_time_infoVui字段中时钟计数相关参数。
vui_video_signalVui字段中视频信号相关参数。
vui_bitstream_restric预留参数,具体含义请参见H.264协议。

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

hi_venc_h265_vui

说明

定义H.265协议编码通道Vui结构体。

定义

typedef struct {
hi_venc_vui_aspect_ratio vui_aspect_ratio;
hi_venc_vui_h265_time_info vui_time_info;
hi_venc_vui_video_signal vui_video_signal;
hi_venc_vui_bitstream_restric vui_bitstream_restric;
} hi_venc_h265_vui;

成员

成员名称描述
vui_aspect_ratio预留参数,具体含义请参见H.265协议。
vui_time_infoVui字段中时钟计数相关参数。
vui_video_signalVui字段中视频信号相关参数。
vui_bitstream_restric预留参数,具体含义请参见H.265协议。

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

hi_venc_vui_aspect_ratio

说明

定义H.264/H.265协议编码通道Vui中AspectRatio信息的结构体。预留结构体,暂不支持用户配置。

定义

typedef struct {
hi_u8 aspect_ratio_info_present_flag;
hi_u8 aspect_ratio_idc;
hi_u8 overscan_info_present_flag;
hi_u8 overscan_appropriate_flag;
hi_u16 sar_width;
hi_u16 sar_height;
} hi_venc_vui_aspect_ratio;

成员

成员名称描述
aspect_ratio_info_present_flag具体含义请参见H.264/H.265协议,系统默认值为0。
aspect_ratio_idc具体含义请参见H.264/H.265协议,系统默认值为1。
overscan_info_present_flag具体含义请参见H.264/H.265协议,系统默认值为0。
overscan_appropriate_flag具体含义请参见H.264/H.265协议,系统默认值为0。
sar_width具体含义请参见H.264/H.265协议,系统默认值为1。
sar_height具体含义请参见H.264/H.265协议,系统默认值为1。

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

hi_venc_vui_h264_time_info

说明

定义H.264协议编码通道Vui中时钟计数信息的结构体。

定义

typedef struct {
hi_u8 timing_info_present_flag;
hi_u8 fixed_frame_rate_flag;
hi_u32 num_units_in_tick;
hi_u32 time_scale;
} hi_venc_vui_h264_time_info;

成员

成员名称描述
timing_info_present_flagVui字段中时钟计数信息是否生效的标志位,系统默认值为0。取值范围:0或1。表格中其它参数只有在该标志为1时才生效。
fixed_frame_rate_flag具体含义请参见H.264协议,系统默认值为1。取值范围:0或1。
num_units_in_tick时钟计数器加1所经过的时间单元数,系统默认值为1。取值范围:大于0。
time_scale一秒钟时长所经过的时间单元数,系统默认值为60。取值范围:大于0。

注意事项

时钟计数用于标记视频帧信号,在本H.264编码器中,视频显示帧率可由根据以下公式计算:display_rate = time_scale / num_units_in_tick / 2

由于显示帧率只与time_scale和num_units_in_tick的比值有关,建议用户设置时保持num_units_in_tick值为1,通过time_scale参数调整显示帧率,此时显示帧率 = time_scale / 2。

显示帧率的最终决定权在于播放器,播放器也可以选择不参考TimeInfo信息。

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

hi_venc_vui_h265_time_info

说明

定义H.265协议编码通道Vui中时钟计数信息的结构体。

定义

typedef struct {
hi_u32 timing_info_present_flag;
hi_u32 num_units_in_tick;
hi_u32 time_scale;
hi_u32 num_ticks_poc_diff_one_minus1;
} hi_venc_vui_h265_time_info;

成员

成员名称描述
timing_info_present_flagVui字段中时钟计数信息是否生效的标志位,系统默认值为0。取值范围:0或1。表格中其它参数只有在该标志为1时才生效。
num_units_in_tick时钟计数器加1所经过的时间单元数,系统默认值为1。取值范围:大于0。
time_scale一秒钟时长所经过的时间单元数,系统默认值为60。取值范围:大于0。
num_ticks_poc_diff_one_minus1具体含义请参见H.265协议,系统默认值为1。取值范围:[0, 2^32-2].

注意事项

时钟计数用于标记视频帧信号,在本H.265编码器中,视频显示帧率可由以下公式计算:display_rate = time_scale / num_units_in_tick

由于显示帧率只与time_scale和num_units_in_tick的比值有关,建议用户设置时保持num_units_in_tick值为1,通过time_scale参数调整显示帧率,此时显示帧率 = time_scale。

显示帧率的最终决定权在于播放器,播放器也可以选择不参考TimeInfo信息。

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

在线提单