hi_venc_vui_video_signal
hi_venc_vui_h264_time_info
说明
定义H.264协议编码通道Vui中TimeInfo信息的结构体。
定义
hi_venc_vui_h264_time_info = {"timing_info_present_flag": timing_info_present_flag,
"fixed_frame_rate_flag": fixed_frame_rate_flag,
"num_units_in_tick": num_units_in_tick,
"time_scale": time_scale}
成员
| 成员名称 | 描述 |
|---|---|
| timing_info_present_flag | 整型,Vui字段中时钟计数信息是否生效的标志位,系统默认值为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信息。
父主题: 视频/图像编码
hi_venc_vui_h265_time_info
说明
定义H.264协议编码通道Vui中TimeInfo信息的结构体。
定义
hi_venc_vui_h264_time_info = {"timing_info_present_flag": timing_info_present_flag,
"fixed_frame_rate_flag": fixed_frame_rate_flag,
"num_units_in_tick": num_units_in_tick,
"time_scale": time_scale}
成员
| 成员名称 | 描述 |
|---|---|
| timing_info_present_flag | 整型,Vui字段中时钟计数信息是否生效的标志位,系统默认值为0。取值范围:0或1。表格中其它参数只有在该标志为1时才生效。 |
| fixed_frame_rate_flag | 整型,时钟计数器加1所经过的时间单元数,系统默认值为1。取值范围:大于0。 |
| num_units_in_tick | 整型,一秒钟时长所经过的时间单元数,系统默认值为60。取值范围:大于0。 |
| time_scale | 整型,具体含义请参见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信息。
父主题: 视频/图像编码
hi_venc_vui_video_signal
说明
定义H.264/H.265协议编码通道Vui中VideoSignal信息的结构体。
定义
hi_venc_vui_video_signal = {"video_signal_type_present_flag": video_signal_type_present_flag,
"video_format": video_format,
"video_full_range_flag": video_full_range_flag,
"colour_description_present_flag": colour_description_present_flag,
"colour_primaries": colour_primaries,
"transfer_characteristics": transfer_characteristics,
"matrix_coefficients": matrix_coefficients}
成员
| 成员名称 | 描述 |
|---|---|
| video_signal_type_present_flag | 整型,Vui字段中视频信号信息是否生效的标志位,系统默认值为1。取值范围:0或1。表格中其它参数只有在该标志为1时才生效。 |
| video_format | 整型,具体含义请参见H.264/H.265协议,系统默认值为5。取值范围:H.264:[0, 7],H.265:[0, 5]。 |
| video_full_range_flag | 整型,具体含义请参见H.264/H.265协议,系统默认值为0。取值范围:0或1。置0表示像素值域受限,亮度取值范围是16~235,色度的取值范围是16~240。 |
| colour_description_present_flag | 整型,具体含义请参见H.264/H.265协议,系统默认值为1,用户无需配置,系统内部根据当前图像实际信息填写。 |
| colour_primaries | 整型,具体含义请参见H.264/H.265协议,系统默认值为1,用户无需配置,系统内部根据当前图像实际信息填写。 |
| transfer_characteristics | 整型,具体含义请参见H.264/H.265协议,系统默认值为1,用户无需配置,系统内部根据当前图像实际信息填写。 |
| matrix_coefficients | 整型,具体含义请参见H.264/H.265协议,系统默认值为1,用户无需配置,系统内部根据当前图像实际信息填写。 |
父主题: 视频/图像编码
hi_venc_vui_bitstream_restric
说明
定义H.264/H.265协议编码通道Vui中Bitstream_Restriction信息的结构体。预留结构体,暂不支持用户配置。
定义
hi_venc_vui_bitstream_restric = {"bitstream_restriction_flag": bitstream_restriction_flag}
成员
| 成员名称 | 描述 |
|---|---|
| bitstream_restriction_flag | 整型,具体含义请参见H.265协议,系统默认值为0。 |
父主题: 视频/图像编码
hi_venc_cu_prediction
说明
定义CU模式选择的倾向性配置结构体。
定义
hi_venc_cu_prediction = {"pred_mode": hi_op_mode,
"intra32_cost": intra32_cost,
"intra16_cost": intra16_cost,
"intra8_cost": intra8_cost,
"intra4_cost": intra4_cost,
"inter64_cost": inter64_cost,
"inter32_cost": inter32_cost,
"inter16_cost": inter16_cost,
"inter8_cost": inter8_cost}
成员
| 成员名称 | 描述 |
|---|---|
| pred_mode | 整型,倾向性选择模式,支持自动模式、手动模式两种。 |
| intra32_cost | 整型,Intra32倾向性调节,对应帧内预测32*32像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 H.264该值无效。 |
| intra16_cost | 整型,Intra16倾向性调节,对应帧内预测16*16像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 |
| intra8_cost | 整型,Intra8倾向性调节,对应帧内预测8*8像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 |
| intra4_cost | 整型,Intra4倾向性调节,对应帧内预测4*4像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 |
| inter64_cost | 整型,Inter64倾向性调节,对应帧间预测64*64像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 H.264该值无效。 |
| inter32_cost | 整型,Inter32倾向性调节,对应帧间预测32*32像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 H.264该值无效。 |
| inter16_cost | 整型,Inter16倾向性调节,对应帧间预测16*16像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 |
| inter8_cost | 整型,Inter8倾向性调节,对应帧间预测8*8像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 |
父主题: 视频/图像编码
hi_venc_intra_refresh
说明
P帧刷Islice控制参数。
定义
hi_venc_intra_refresh = {"refresh_enable": refresh_enable,
"intra_refresh_mode": hi_venc_intra_refresh_mode,
"refresh_num": refresh_num,
"req_i_qp": req_i_qp}
成员
| 成员名称 | 描述 |
|---|---|
| refresh_enable | 整型,是否使能刷Islice功能。 - 0:不使能,默认值; - 1:使能 。 |
| intra_refresh_mode | 整型,I宏块刷新模式,分为按行刷新和按列刷新。默认按行刷新。 |
| refresh_num | 每次I宏块刷新行数或者列数,可以通过这个变量控制刷新的速度及码流的平稳程度。刷新行数或者列数越多,刷新的速度越快,但是码流平稳度越差;刷新的行数或者列数越少,刷新的速度越慢,但是码流平稳度越好。 需保证设置的refresh_num可以在一个GOP内完成Islice刷新,注意高级跳帧参考时只会在base层中的P帧(可被base层中其他帧的参考)进行刷新。refresh_num需满足表1中的计算公式。 |
| req_i_qp | 整型,I帧QP值。 acl.himpi.venc_set_intra_refresh接口与acl.himpi.venc_request_idr接口配合使用时,该值用于控制插入的IDR帧的质量,该值越小,质量越好,插入的IDR帧大小越大。 取值范围:[0, 51] ,默认值51。 |
参考信息
表1 refresh_num参数值计算公式
默认值 | 计算公式 | 备注 |
|---|---|---|
H.264,refresh_num默认值为: (pic_height +lcu_size-1)>>6 | 计算公式中的/表示向下取整。 | |
H.265,refresh_num默认值为: ((pic_height + lcu_size - 1)/lcu_size) >> 2 |
父主题: 视频/图像编码
在线提单