venc_set_h265_vui
产品支持情况
产品 |
是否支持 |
---|---|
x |
|
x |
|
x |
|
√ |
|
√ |
|
x |
功能说明
设置H.265协议编码通道的VUI参数。
VUI(Video usability information)参数主要包含解码图像的格式信息,比如采样横纵比、光电转换特性、颜色空间等。VUI参数在协议中属于可选参数,不影响视频编码过程,但会建议解码器/播放器做一些矫正处理。
函数原型
- C函数原型
1
hi_s32 hi_mpi_venc_set_h265_vui(hi_venc_chn chn, const hi_venc_h265_vui *h265_vui)
- python函数
1
ret = acl.himpi.venc_set_h265_vui(chn, h265_vui)
参数说明
参数名 |
说明 |
---|---|
chn |
int,编码通道号。
|
h265_vui |
dict,H.265协议编码通道的VUI属性字典,参见hi_venc_h265_vui。 |
返回值说明
返回值 |
说明 |
---|---|
ret |
int,错误码。
|
约束说明
- 本接口用于设置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图像编码接口