# hi_mpi_venc_set_h265_vui

#### 函数功能

设置H.265协议编码通道的Vui参数。

Vui（Video usability information）参数主要包含解码图像的格式信息，比如采样横纵比、光电转换特性、颜色空间等。Vui参数在协议中属于可选参数，不影响视频编码过程，但会建议解码器/播放器做一些矫正处理。


#### 约束说明

- 本接口用于设置H.265协议编码通道的Vui配置。
- 本接口在编码通道创建之后，编码通道销毁之前设置。此接口在编码过程中被调用时，等到下一个I帧时生效。
- 建议用户在创建通道之后，启动编码之前调用此接口，减少在编码过程中调用的次数。
- 用户应当仅在H.265协议编码通道中调用本接口。
- 目前仅开放hi_venc_h265_vui中的hi_venc_vui_video_signal参数和hi_venc_vui_h265_time_info参数供用户配置，其它参数预留，均需配置为默认值，否则会导致编码失败。建议用户在调用此接口之前先调用  hi_mpi_venc_get_h265_vui
接口，获取当前编码通道的Vui默认配置，然后再进行设置，避免预留参数出错。
- hi_venc_vui_h265_time_info参数包含时钟计数相关参数，默认情况下为不生效状态，用户想要控制显示帧率时需要主动配置相关参数。注意，此处的显示帧率只影响播放器的播放速度，用户想控制编码过程中的码控帧率需配置  hi_mpi_venc_create_chn
接口中的hi_venc_rc_attr参数。
  建议用户将码控帧率与显示帧率设置一致，否则播放时的码率可能与用户设置的编码码率不同，播放时的码率会随着所设置的显示帧率而变化。

  如果用户需要调整播放速度，则建议在合理范围内调整显示帧率，一般正常视频播放速度为30fps，表示显示帧率为30fps，若将显示帧率调大，则播放速度加快，例如3倍速播放，则显示帧率设置为90fps；若将显示帧率调小，则播放速度减慢，例如0.5倍速播放，则显示帧率设置为15fps。

- 由于Vui只是协议可选参数而非强制参数，本接口设置参数（如显示帧率、像素值域范围等）的最终效果取决于解码器/播放器行为，或者用户自定义的解码/播放行为。


#### 函数原型

hi_s32 hi_mpi_venc_set_h265_vui(hi_venc_chn chn, const hi_venc_h265_vui *h265_vui)


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| chn | 输入 | 编码通道号。 Atlas 200/500 A2推理产品，编码通道号的取值范围：[0, 128)，JPEGE功能和VENC功能共用通道，且通道总数最多128。 |
| h265\_vui | 输入 | H.265协议编码通道的Vui参数。 |


#### 返回值说明

- 0：成功
- 非0：失败，参见  VENC视频编码/JPEGE图片编码返回码
