5.3. API参考

视频输出(VO)实现视频输出设备,视频曾,信道等功能。

该功能模块所支持的 API,以下由大而小分别从设备、视频层、通道等方面进行介绍

设备相关API 如下:

接口相关API如下:

视频层相关API如下:

通道相关API 如下:

其他API如下:


5.3.1. CVI_VO_Enable

【描述】

启用视频输出设备。

【语法】

CVI_S32 CVI_VO_Enable(VO_DEV VoDev);

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 必须在使用视频输出功能前先进行设备使能操作。

  • 在调用设备使能前,必须对设备公共属性进行配置,否则返回设备未配置错误。

  • 如果希望更改 VO 的时序配置,则需要先调用 CVI_VO_Disable 接口,强制关闭 VO 硬件后再使能。以避免变更时序过程中出现不喜的瞬时。

【举例】

 CVI_S32 s32Ret = CVI_SUCCESS;

s32Ret = CVI_VO_SetPubAttr(VoDev, pstPubAttr);
if (s32Ret != CVI_SUCCESS) {
  SAMPLE_PRT("failed with %#x!\n", s32Ret);
  return CVI_FAILURE;
}

s32Ret = CVI_VO_Enable(VoDev);
if (s32Ret != CVI_SUCCESS) {
  SAMPLE_PRT("failed with %#x!\n", s32Ret);
  return CVI_FAILURE;
}

【相关主题】

CVI_VO_Disable


5.3.2. CVI_VO_Disable

【描述】

禁用视频输出设备。

【语法】

CVI_S32 CVI_VO_Disable(VO_DEV VoDev);

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 设备禁止前必须先禁止该设备上的视频层。

  • 只有在VO 设备禁止下,才能做设置设备属性的变更。

【举例】

【相关主题】

CVI_VO_Enable


5.3.3. CVI_VO_IsEnabled

【描述】

查询输出设备是否已启用。

【语法】

CVI_BOOL CVI_VO_IsEnabled(VO_DEV VoDev);

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

【返回值】

返回值

描述

非0

成功。

0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_Enable

CVI_VO_Disable


5.3.4. CVI_VO_Suspend

【描述】

显示设备进入休眠状态。

【语法】

CVI_S32 CVI_VO_Suspend(void);

【返回值】

返回值

描述

非0

成功。

0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】


5.3.5. CVI_VO_Resume

【描述】

显示设备恢复正常状态。

【语法】

CVI_S32 CVI_VO_Resume(void);

【返回值】

返回值

描述

非0

成功。

0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】


5.3.6. CVI_VO_SetPubAttr

【描述】

配置视频输出设备的相关属性。

【语法】

CVI_S32 CVI_VO_SetPubAttr(VO_DEV VoDev, const VO_PUB_ATTR_S *pstPubAttr);

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

pstPubAttr

视频输出设备公共属性结构体指针。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 视频输出设备属性为静态属性, 必须 在执行 CVI_VO_Enable 前 配置 。

  • 各个DEV 的使用说明详见 VO_DEV

  • 视频输出设备属性的使用说明详见 VO_PUB_ATTR_S 章节。

【举例】

【相关主题】

CVI_VO_GetPubAttr


5.3.7. CVI_VO_GetPubAttr

【描述】

获取视频输出设备的相关属性。

【语法】

CVI_S32 CVI_VO_GetPubAttr(VO_DEV VoDev, VO_PUB_ATTR_S *pstPubAttr);

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

pstPubAttr

视频输出设备公共属性结构体指针。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 在设置设备公共属性前先获取属性,就可以只设置需要改变的 配置项。

【举例】

【相关主题】

CVI_VO_SetPubAttr


5.3.8. CVI_VO_SetBTParam

【描述】

设置设备BT接口属性。

【语法】

CVI_S32 CVI_VO_SetBTParam(VO_DEV VoDev, const VO_BT_ATTR_S *pstBTParam);

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

pstBTParam

BT接口属性结构体指针。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 设备接口未配置成BT时返回失败。

  • 此接口不支持动态设置,设置BT接口属性时,需要在执行 CVI_VO_SetPubAttr 设置设备公共属性之后配置,在执行 CVI_VO_Enable 前 配置。

【举例】

【相关主题】

CVI_VO_GetBTParam


5.3.9. CVI_VO_GetBTParam

【描述】

获取设备BT接口属性。

【语法】

CVI_S32 CVI_VO_GetBTParam(VO_DEV VoDev, VO_BT_ATTR_S *pstBTParam);

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

pstBTParam

BT接口属性结构体指针。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 设备接口未配置成BT时返回失败。

【举例】

【相关主题】

CVI_VO_SetBTParam


5.3.10. CVI_VO_SetLVDSParam

【描述】

设置设备LVDS接口输出属性。

【语法】

CVI_S32 CVI_VO_SetLVDSParam(VO_DEV VoDev, const VO_LVDS_ATTR_S *pstLVDSParam);

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

pstLVDSParam

LVDS接口属性结构体指针。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 设备接口未配置成LVDS时返回失败。

  • 此接口不支持动态设置,设置LVDS接口属性时,需要在执行 CVI_VO_SetPubAttr 设置设备公共属性之后配置,在执行 CVI_VO_Enable 前 配置。

【举例】

【相关主题】

CVI_VO_GetLVDSParam


5.3.11. CVI_VO_GetLVDSParam

【描述】

获取设备LVDS接口输出属性。

【语法】

CVI_S32 CVI_VO_GetLVDSParam(VO_DEV VoDev, VO_LVDS_ATTR_S *pstLVDSParam);

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

pstLVDSParam

LVDS接口属性结构体指针。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 设备接口未配置成LVDS时返回失败。

【举例】

【相关主题】

CVI_VO_SetLVDSParam


5.3.12. CVI_VO_EnableVideoLayer

【描述】

启用视频层。

【语法】

CVI_S32 CVI_VO_EnableVideoLayer (VO_LAYER VoLayer);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 视频层使能前必须保证该视频层所绑定的设备处于使能状态。

【举例】

【相关主题】

CVI_VO_DisableVideoLayer


5.3.13. CVI_VO_DisableVideoLayer

【描述】

禁用视频层。

【语法】

CVI_S32 CVI_VO_DisableVideoLayer (VO_LAYER VoLayer);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 视频层禁止前,其上的通道必须先禁止。

【举例】

【相关主题】

CVI_VO_EnableVideoLayer


5.3.14. CVI_VO_SetVideoLayerAttr

【描述】

配置视频层的相关属性。

【语法】

CVI_S32 CVI_VO_SetVideoLayerAttr (VO_LAYER VoLayer, const VO_VIDEO_LAYER_ATTR_S *pstLayerAttr);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

pstLayerAttr

视频层属性结构体指针。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_GetVideoLayerAttr


5.3.15. CVI_VO_GetVideoLayerAttr

【描述】

获取视频层的相关属性。

【语法】

CVI_S32 CVI_VO_GetVideoLayerAttr (VO_LAYER VoLayer, VO_VIDEO_LAYER_ATTR_S *pstLayerAttr);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

pstLayerAttr

视频层属性结构体指针。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_SetVideoLayerAttr


5.3.16. CVI_VO_GetLayerProcAmpCtrl

【描述】

获取视频层的图像效果控制参数。

【语法】

CVI_S32 CVI_VO_GetLayerProcAmpCtrl(VO_LAYER VoLayer, PROC_AMP_E type, PROC_AMP_CTRL_S *ctrl);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

type

视频层图像效果类型。

输入

ctrl

视频层图像效果控制参数结构体指针。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 该接口主要用于获取视频层图像效果,包括亮度、对比度、色调、饱和度的取值范围、step、及默认值。

【举例】

【相关主题】

CVI_VO_GetLayerProcAmp

CVI_VO_SetLayerProcAmp


5.3.17. CVI_VO_SetLayerProcAmp

【描述】

设置视频层的图像效果属性。

【语法】

CVI_S32 CVI_VO_SetLayerProcAmp(VO_LAYER VoLayer, PROC_AMP_E type, CVI_S32 value);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

type

视频层图像效果类型。

输入

value

图像效果参数值。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 该接口主要用于设置视频层图像效果,包括亮度、对比度、色调、饱和度。

  • 亮度、对比度、饱和度取值范围[0, 255], 色调取值范围[0, 359]。

  • 视频层没有启动前不允许调用。

【举例】

【相关主题】

CVI_VO_GetLayerProcAmpCtrl

CVI_VO_GetLayerProcAmp


5.3.18. CVI_VO_GetLayerProcAmp

【描述】

获取视频层的图像效果属性。

【语法】

CVI_S32 CVI_VO_GetLayerProcAmp(VO_LAYER VoLayer, PROC_AMP_E type, CVI_S32 *value);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

type

视频层图像效果类型。

输入

value

图像效果参数值变量指针。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 该接口主要用于获取视频层图像效果,包括亮度、对比度、色调、饱和度。

  • 视频层没有启动前不允许调用。

【举例】

【相关主题】

CVI_VO_GetLayerProcAmpCtrl

CVI_VO_SetLayerProcAmp


5.3.19. CVI_VO_SetDisplayBufLen

【描述】

设置视频显示缓冲区长度。

【语法】

CVI_S32 CVI_VO_SetDisplayBufLen(VO_LAYER VoLayer, CVI_U32 u32BufLen);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

u32BufLen

视频显示缓冲区长度。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 调用前需保证视频层未使能,否则无效。

【举例】

【相关主题】

CVI_VO_GetDisplayBufLen


5.3.20. CVI_VO_GetDisplayBufLen

【描述】

获取视频显示缓冲区长度。

【语法】

CVI_S32 CVI_VO_GetDisplayBufLen(VO_LAYER VoLayer, CVI_U32 *pu32BufLen);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

u32BufLen

视频显示缓冲区长度。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_SetDisplayBufLen


5.3.21. CVI_VO_EnableChn

【描述】

启用指定的视频输出通道。

【语法】

CVI_S32 CVI_VO_EnableChn(VO_LAYER VoLayer, VO_CHN VoChn);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 调用前必须使能相应设备上的视频层。

  • 信道使能前必须进行信道配置,否则返回信道未配置的错误 。

【举例】

【相关主题】

CVI_VO_DisableChn


5.3.22. CVI_VO_DisableChn

【描述】

禁用视频输出通道。

【语法】

CVI_S32 CVI_VO_DisableChn(VO_LAYER VoLayer, VO_CHN VoChn);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_EnableChn


5.3.23. CVI_VO_SetChnAttr

【描述】

配置视频输出信道的相关属性。

【语法】

CVI_S32 CVI_VO_SetPubAttr(VO_LAYER VoLayer, VO_CHN VoChn, const VO_CHN_ATTR_S *pstChnAttr);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

pstChnAttr

视频输出通道属性结构体指针。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 通道显示区域需小于视频层属性中设定的stImageSize 大小。

【举例】

【相关主题】

CVI_VO_GetChnAttr


5.3.24. CVI_VO_GetChnAttr

【描述】

获取视频输出通道的相关属性。

【语法】

CVI_S32 CVI_VO_GtPubAttr(VO_LAYER VoLayer, VO_CHN VoChn, VO_CHN_ATTR_S *pstChnAttr);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

pstChnAttr

视频输出通道属性结构体指针。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_SetChnAttr


5.3.25. CVI_VO_ShowChn

【描述】

显示指定的视频输出通道。

【语法】

CVI_S32 CVI_VO_ShowChn(VO_LAYER VoLayer, VO_CHN VoChn);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 调用前必须使能相应设备上的视频通道。

  • 默认下处于显示状态。

【举例】

【相关主题】

CVI_VO_HideChn


5.3.26. CVI_VO_HideChn

【描述】

隐藏指定的视频输出通道。

【语法】

CVI_S32 CVI_VO_HideChn(VO_LAYER VoLayer, VO_CHN VoChn);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_ShowChn


5.3.27. CVI_VO_SetChnRotation

【描述】

设置 VO通道旋转的属性。

【语法】

CVI_S32 CVI_VO_SetChnRotation(VO_LAYER VoLayer, VO_CHN VoChn, ROTATION_E enRotation);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

enRotation

旋转属性。 详见 ROTATION_E 说明

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 使用本接口前,需先调用 CVI_VO_SetChnAttr,否则提示失败。

  • CV184x仅支持NV12,NV21及YUV400三种格式的旋转。

  • 设置后,旋转会作用于进入信道的视频图像,要注意设置视频层和视频信道的属性大小。例如通道设定大小为1920x1080,且旋转90度,因此输入给信道的图像应为1080x1920。

【举例】

【相关主题】


5.3.28. CVI_VO_GetChnRotation

【描述】

获取 VO通道旋转的属性。

【语法】

CVI_S32 CVI_VO_GetChnRotation(VO_LAYER VoLayer, VO_CHN VoChn, ROTATION_E *penRotation);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

penRotation

旋转属性指针。 详见 ROTATION_E 说明

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_SetChnRotation


5.3.29. CVI_VO_PauseChn

【描述】

暂停指定的VO通道的输出。

【语法】

CVI_S32 CVI_VO_PauseChn(VO_LAYER VoLayer, VO_CHN VoChn);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 调用前必须使能相应设备上的视频通道。

  • 允许重复暂停同一通道,不返回失败。

【举例】

【相关主题】

CVI_VO_ResumeChn


5.3.30. CVI_VO_ResumeChn

【描述】

恢复指定的 VO通道的输出。

【语法】

CVI_S32 CVI_VO_ResumeChn(VO_LAYER VoLayer, VO_CHN VoChn);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 调用前必须使能相应设备上的视频通道。

  • 允许重复恢复同一通道,不返回失败。

【举例】

【相关主题】

CVI_VO_PauseChn


5.3.31. CVI_VO_ClearChnBuf

【描述】

清空指定视频层指定通道的视频缓冲区。

【语法】

CVI_S32 CVI_VO_ClearChnBuf(VO_LAYER VoLayer, VO_CHN VoChn, CVI_BOOL bClrAll);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

bClrAll

是否全部清空标记。

CVI_TRUE:将通道中的数据全部清空,此时 屏幕上该通道的区域将无图像显示,直到有新的图 像数据到来。
CVI_FALSE:在通道中保留一帧图像数据, 而将其他数据清空。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】


5.3.32. CVI_VO_SendFrame

【描述】

向指定视频层的指定通道发送视频帧。

【语法】

CVI_S32 CVI_VO_SendFrame(VO_LAYER VoLayer, VO_CHN VoChn, VIDEO_FRAME_INFO_S *pstVideoFrame, CVI_S32 s32MilliSec);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

pstVideoFrame

视频帧信息结构体指针。

输入

s32MilliSec

视频帧发送后等待时间。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 调用该接口前必须保证通道已经使能。

  • 阻塞式发送暂不支持,s32MilliSec无用。

  • 输入视频数据信息要符合VO数据的要求。

【举例】

【相关主题】


5.3.33. CVI_VO_SetChnFrameRate

【描述】

设置指定视频输出通道的显示帧率。

【语法】

CVI_S32 CVI_VO_SetChnFrameRate(VO_LAYER VoLayer, VO_CHN VoChn, CVI_S32 s32ChnFrmRate);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

s32ChnFrmRate

视频输出通道帧率。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 调用该接口前必须保证通道已经使能。

  • 设置帧率不能大于当前通道实际帧率。

【举例】

【相关主题】

CVI_VO_GetChnFrameRate


5.3.34. CVI_VO_GetChnFrameRate

【描述】

获取指定视频输出通道的显示帧率。

【语法】

CVI_S32 CVI_VO_GetChnFrameRate(VO_LAYER VoLayer, VO_CHN VoChn, CVI_S32 *ps32ChnFrmRate);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

ps32ChnFrmRate

视频输出通道帧率变量指针。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 返回通道实际帧率。

【举例】

【相关主题】

CVI_VO_SetChnFrameRate


5.3.35. CVI_VO_GetChnPTS

【描述】

获取指定视频输出通道当前显示图像的时间戳。

【语法】

CVI_S32 CVI_VO_GetChnPTS(VO_LAYER VoLayer, VO_CHN VoChn, CVI_U64 *pu64ChnPTS);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

pu64ChnPTS

视频输出通道时间戳变量指针。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 调用前需保证视频层使能,视频通道使能。

【举例】

【相关主题】


5.3.36. CVI_VO_QueryChnStatus

【描述】

查询视频输出通道状态。

【语法】

CVI_S32 CVI_VO_QueryChnStatus(VO_LAYER VoLayer, VO_CHN VoChn, VO_QUERY_STATUS_S *pstStatus);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

pstStatus

通道状态结构体指针。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 调用前需保证视频设备使能。

  • 调用前需要保证所要查询的通道已经使能。

  • 可以多次调用获取通道状态接口。

【举例】

【相关主题】


5.3.37. CVI_VO_CloseFd

【描述】

关闭视频输出设备的文件句柄。

【语法】

CVI_S32 CVI_VO_CloseFd(CVI_VOID);

【参数】

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

此接口调用后,VO其他 MMF接口失效。

【举例】

【相关主题】


5.3.38. CVI_VO_Get_Panel_Status

【描述】

关闭视频输出设备的文件句柄。

【语法】

CVI_S32 CVI_VO_Get_Panel_Status(VO_LAYER VoLayer, VO_CHN VoChn, CVI_U32 *is_init);

【参数】

参数名称

描述

输入/输出

VoLayer

视频输出视频层号。

取值范围:[0, VO_MAX_LAYER_NUM]。

输入

VoChn

视频输出通道号。

取值范围:[0, VO_MAX_CHN_NUM]。

输入

is_init

显示面板是否初始化标记。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】


5.3.39. CVI_VO_RegPmCallBack

【描述】

注册电源管理回调函数。

【语法】

CVI_S32 CVI_VO_RegPmCallBack(VO_DEV VoDev, VO_PM_OPS_S *pstPmOps, void *pvData)

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

pstPmOps

电源管理函数结构体指针。

输入

pvData

额外用户数据指针。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_UnRegPmCallBack


5.3.40. CVI_VO_UnRegPmCallBack

【描述】

取消注册电源管理回调函数。

【语法】

CVI_S32 CVI_VO_UnRegPmCallBack(VO_DEV VoDev);)

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_RegPmCallBack


5.3.41. CVI_VO_SetGammaInfo

【描述】

设置伽马校正信息。

【语法】

CVI_S32 CVI_VO_SetGammaInfo(VO_GAMMA_INFO_S *pinfo);

【参数】

参数名称

描述

输入/输出

pinfo

伽马校正信息结构体指针。

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_GetGammaInfo


5.3.42. CVI_VO_GetGammaInfo

【描述】

设置伽马校正信息。

【语法】

CVI_S32 CVI_VO_GetGammaInfo(VO_GAMMA_INFO_S *pinfo);

【参数】

参数名称

描述

输入/输出

pinfo

伽马校正信息结构体指针。

输出

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

【举例】

【相关主题】

CVI_VO_SetGammaInfo


5.3.43. CVI_VO_ShowPattern

【描述】

设置伽马校正信息。

【语法】

CVI_S32 CVI_VO_ShowPattern(VO_DEV VoDev, enum VO_PATTERN_MODE PatternId);

【参数】

参数名称

描述

输入/输出

VoDev

视频输出设备号。

取值范围:[0, VO_MAX_DEV_NUM]。

输入

VO_PATTERN_MODE

图例操作指令ID

输入

【返回值】

返回值

描述

0

成功。

非 0

失败,请参见 错误码

【需求】

  • 头文件:cvi_vo.h, cvi_comm_vo.h

  • 库文件:libvo.a

【注意】

  • 此接口用于调试屏幕时输出芯片内置test pattern

【举例】

【相关主题】