acl.himpi.venc_set_intra_refresh
acl.himpi.venc_get_h265_vui
| c函数原型 | hi_s32 **hi_mpi_venc_get_h265_vui(**hi_venc_chn chn, hi_venc_h265_vui *h265_vui) |
|---|---|
| Python函数 | h265_vui, ret = acl.himpi.venc_get_h265_vui(chn) |
| 函数功能 | 获取H.265协议编码通道的Vui配置。 |
| 输入说明 | chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 |
| 返回值说明 | - h265_vui:dict,H.265协议编码通道的Vui属性字典。参见hi_venc_h265_vui。 - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 本接口用于获取H.265协议编码通道的Vui配置。 - 本接口在编码通道创建之后,编码通道销毁之前调用。 - 建议用户在创建通道之后,启动编码之前调用此接口,减少在编码过程中调用的次数。 - 用户应当仅在H.265协议编码通道中调用本接口。 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_set_h265_vui
| c函数原型 | hi_s32 **hi_mpi_venc_set_h265_vui(**hi_venc_chn chn, const hi_venc_h265_vui *h265_vui) |
|---|---|
| Python函数 | ret = acl.himpi.venc_set_h265_vui(chn, h265_vui) |
| 函数功能 | 设置H.265协议编码通道的Vui参数。 Vui(Video usability information)参数主要包含解码图像的格式信息,比如采样横纵比、光电转换特性、颜色空间等。Vui参数在协议中属于可选参数,不影响视频编码过程,但会建议解码器/播放器做一些矫正处理。 |
| 输入说明 | - chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 - h265_vui:dict,H.265协议编码通道的Vui属性字典,参见hi_venc_h265_vui。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 本接口用于设置H.265协议编码通道的Vui配置。 - 本接口在编码通道创建之后,编码通道销毁之前设置。此接口在编码过程中被调用时,等到下一个I帧时生效。 - 建议用户在创建通道之后,启动编码之前调用此接口,减少在编码过程中调用的次数。 - 用户应当仅在H.265协议编码通道中调用本接口。 - 目前仅开放hi_venc_h265_vui中的hi_venc_vui_video_signal参数和hi_venc_vui_h265_time_info参数供用户配置,其它参数预留,均需配置为默认值,否则会导致编码失败。建议用户在调用此接口之前先调用acl.himpi.venc_get_h265_vui接口,获取当前编码通道的Vui默认配置,然后再进行设置,避免预留参数出错。 - hi_venc_vui_h265_time_info参数包含时钟计数相关参数,默认情况下为不生效状态,用户想要控制显示帧率时需要主动配置相关参数。注意,此处的显示帧率只影响播放器的播放速度,用户想控制编码过程中的码控帧率需配置acl.himpi.venc_create_chn接口中的hi_venc_rc_attr参数。 建议用户将码控帧率与显示帧率设置一致,否则播放时的码率可能与用户设置的编码码率不同,播放时的码率会随着所设置的显示帧率而变化。 如果用户需要调整播放速度,则建议在合理范围内调整显示帧率,一般正常视频播放速度为30fps,表示显示帧率为30fps。 - 若将显示帧率调大,则播放速度加快,例如3倍速播放,则显示帧率设置为90fps。 - 若将显示帧率调小,则播放速度减慢,例如0.5倍速播放,则显示帧率设置为15fps。 - 由于Vui只是协议可选参数而非强制参数,本接口设置参数(如显示帧率、像素值域范围等)的最终效果取决于解码器/播放器行为,或者用户自定义的解码/播放行为。 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_get_intra_refresh
| c函数原型 | hi_s32 **hi_mpi_venc_get_intra_refresh(**hi_venc_chn chn, hi_venc_intra_refresh *intra_refresh) |
|---|---|
| Python函数 | intra_refresh, ret = acl.himpi.venc_get_intra_refresh**(chn)** |
| 函数功能 | 获取P帧刷新Islice的设置参数。 |
| 输入说明 | chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 |
| 返回值说明 | - intra_refresh:dict,刷Islice的参数字典。参见hi_venc_intra_refresh。 - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 本接口必须在编码通道创建之后,编码通道销毁之前调用。 - 切换GOP模式时,获取的属性是已设置的最新的属性。 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_set_intra_refresh
| c函数原型 | hi_s32 **hi_mpi_venc_set_intra_refresh(**hi_venc_chn chn, const hi_venc_intra_refresh *intra_refresh) |
|---|---|
| Python函数 | ret = acl.himpi.venc_set_intra_refresh(chn, intra_refresh**)** |
| 函数功能 | 设置P帧刷新Islice的参数。 |
| 输入说明 | - chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 - intra_refresh:dict,刷Islice的参数字典。参见hi_venc_intra_refresh。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 仅支持H.265/H.264、GOP模式为HI_VENC_GOP_MODE_NORMAL_P的编码通道。 - 调用acl.himpi.venc_set_ref_param接口设置高级跳帧参考后需要重新进行设置,不支持高级跳帧参考pred_en为0。 - 建议在创建通道后、启动编码前先调用acl.himpi.venc_get_intra_refresh接口获取P帧刷Islice的设置参数后,再调用本接口设置P帧刷Islice的参数。 - 调用本接口使能P帧刷Islice时,会生成一个I帧,且需等下一个GOP的IDR帧才能生效;关闭P帧刷Islice参数时会立即生效。 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_get_ref_param
| c函数原型 | hi_s32 hi_mpi_venc_get_ref_param(hi_venc_chn chn, const hi_venc_ref_param *ref_param) |
|---|---|
| Python函数 | ref_param, ret = acl.himpi.venc_get_ref_param(chn) |
| 函数功能 | 获取H.264/H.265编码通道高级跳帧参考参数。关于高级跳帧模式的详细说明请参见高级跳帧模式说明。 |
| 输入说明 | chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 |
| 返回值说明 | - ref_param:dict,H.264/H.265编码通道高级跳帧参考参数字典。参见hi_venc_ref_param。 - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | 本接口在编码通道创建之后、编码通道销毁之前调用。 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_set_ref_param
| c函数原型 | hi_s32 hi_mpi_venc_set_ref_param(hi_venc_chn chn, const hi_venc_ref_param *ref_param) |
|---|---|
| Python函数 | ret = acl.himpi.venc_set_ref_param(chn, ref_param**)** |
| 函数功能 | 设置H.264/H.265编码通道高级跳帧参考参数,用于改变帧间参考关系。关于高级跳帧模式的详细说明请参见高级跳帧模式说明。 |
| 输入说明 | - chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 - ref_param:dict,H.264/H.265编码通道高级跳帧参考参数字典。参见hi_venc_ref_param。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 创建H.264/H.265协议编码通道时,默认跳帧参考模式是1倍跳帧参考模式。如果用户需要修改编码通道的跳帧参考,建议在创建通道之后,启动编码之前调用此接口,减少在编码过程中调用的次数。 - 本接口在编码过程中被调用时,等到下一个I帧时生效。 - 如果用户设置1倍跳帧参考模式,对应的配置为:pred_en=HI_TRUE, enhance=0 ,base =1;如果设置2倍跳帧参考模式,对应的配置为: pred_en= HI_TRUE,enhance=1, base = 1;如果设置 4 倍跳帧参考模式,对应的配置为: pred_en =HI_TRUE, enhance = 1, base = 2。 - 如果用户设置通道的Gop Mode为HI_VENC_GOP_MODE_DUAL_P时,sp_interval只支持设置为sp_interval = (enhance+1 )*base,其中,当 sp_interval 不为0时, pred _en只支持设置为 HI_TRUE。 - 如果用户设置通道的Gop Mode为HI_VENC_GOP_MODE_SMART_P时,pred_en只支持设置为HI_TRUE 。 - 如果用户设置通道的Gop Mode为HI_VENC_GOP_MODE_BIPREDB时,enhance必须等于b_frame_num 。 |
高级跳帧模式说明
高级跳帧参考模式涉及3 个参数:base、enhance 和pred_en,其含义请参考hi_venc_ref_param。高级跳帧参考模式示意图如下图所示。
-
注意:dual_p 模式且sp_interval不等于0下配置高级跳帧参考需要满足如下条件:base *(enhance+1)= sp_interval,例如:4 倍高级跳帧参考(base=2,enhance=1),那么dual_p 的sp_interval =2*(1+1)=4。
-
normal_p高级跳帧参考示意图

-
smart_p高级跳帧参考示意图

-
adv_smart_p高级跳帧参考示意图

-
dual_p (sp_interval!=0)高级跳帧参考示意图

-
dual_p (sp_interval=0)高级跳帧参考示意图

父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_get_roi_attr
| c函数原型 | hi_s32 hi_mpi_venc_get_roi_attr(hi_venc_chn chn, hi_u32 idx, hi_venc_roi_attr *roi_attr) |
|---|---|
| Python函数 | roi_attr**, ret = acl.himpi.venc_get_roi_attr(chn, idx)** |
| 函数功能 | 获取H.264/H.265通道的ROI配置属性。关于ROI编码功能的详细说明请参见ROI编码功能说明。 |
| 输入说明 | - chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 - idx:int,H.264/H.265协议编码通道ROI区域索引。 |
| 返回值说明 | - roi_attr:dict,ROI区域参数字典。参见hi_venc_roi_attr。 - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 本接口用于获取H.264/H.265协议编码通道的指定索引号的ROI配置。 - 本接口在编码通道创建之后,编码通道销毁之前调用。 - 建议用户在创建通道之后,启动编码之前调用此接口,减少在编码过程中调用的次数。 |
父主题: VENC视频/JPEGE图像编码接口
在线提单