5.3. API Reference¶
Video output (VO) realizes video output device, video channel and other functions..
The APIs supported by this function module are introduced from the aspects of device, video layer, channel and so on.
Device related APIs are as follows:
CVI_VO_Enable: Enable video output device.
CVI_VO_Disable: Disable video output device.
CVI_VO_IsEnabled: Check if the output device is enabled.
CVI_VO_SetPubAttr: Set the properties of the video output device.
CVI_VO_GetPubAttr: Get the properties of the video output device.
CVI_VO_CloseFd: Close the file handle of the video output device.
CVI_VO_Suspend : Suspend the video output device.
CVI_VO_Resume : Resume the video output device.
The interface related APIs are as follows:
CVI_VO_I80Init: Initialize I80 instruction by instruction
Video layer related APIs are as follows:
CVI_VO_EnableVideoLayer: Enable video layer.
CVI_VO_DisableVideoLayer: Disable video layer.
CVI_VO_SetVideoLayerAttr: Set the properties of the video layer device.
CVI_VO_GetVideoLayerAttr: Get the properties of the video layer device.
CVI_VO_GetLayerProcAmpCtrl: Get the image effect function description of the video layer.
CVI_VO_SetLayerProcAmp: Set the image effect attribute of the video layer.
CVI_VO_GetLayerProcAmp: Get the image effect attribute of the video layer.
CVI_VO_SetDisplayBufLen: Set the length of the video display buffer.
CVI_VO_GetDisplayBufLen: Get the length of the video display buffer.
Channel related APIs are as follows:
CVI_VO_EnableChn: Enable video output channel.
CVI_VO_DisableChn: Disable video output channel.
CVI_VO_SetChnAttr: Set the properties of the video output channel.
CVI_VO_GetChnAttr: Get the properties of the video output channel.
CVI_VO_ShowChn: Display the specified video output channel.
CVI_VO_HideChn: Hide the specified video output channel.
CVI_VO_SetChnRotation: Set the rotation property of the video output channel.
CVI_VO_GetChnRotation: Get the rotation property of the video output channel.
CVI_VO_PauseChn: Pause the output of the specified VO channel.
CVI_VO_ResumeChn: Resume the output of the specified VO channel.
CVI_VO_ClearChnBuf: Clear the video buffer of the specified channel for the specified video layer.
CVI_VO_SendFrame : Send video frames to the specified channel of the specified video layer.
CVI_VO_SendLogoFromIon : Send vdec bootlogo frames to the specified channel of the specified video layer.
Other APIs are as follows:
CVI_VO_Get_Panel_Status: Get the status of the display panel.
CVI_VO_RegPmCallBack: Register the power management callback function.
CVI_VO_UnRegPmCallBack: Unregister the power management callback function.
CVI_VO_SetGammaInfo: Set gamma correction information.
CVI_VO_GetGammaInfo: Get the gamma correction information.
CVI_VO_ShowPattern: Display pattern on the device.
5.3.1. CVI_VO_Enable¶
【Description】
Enable video output device.
【Syntax】
CVI_S32 CVI_VO_Enable(VO_DEV VoDev);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoDev |
Video output device number. Value range: [0, VO_MAX_DEV_NUM] |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
The device must be enabled before using the video output function.
Before calling the device enable, you must configure the common properties of the device.
Otherwise, an error message is displayed indicating that the device is not configured.
If you want to change the VO timing configuration,
you need to call the CVI_VO_Disable interface to forcibly disable the VO hardware before enabling it to avoid undesirable transients in the process of changing the timing.
【Example】
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;
}
【Related Topic】
5.3.2. CVI_VO_Disable¶
【Description】
Disable video output device.
【Syntax】
CVI_S32 CVI_VO_Disable(VO_DEV VoDev);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoDev |
Video output device number. Value range: [0, VO_MAX_DEV_NUM] |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
library files: libvo.a
【Note】
The video layer on the device must be forbidden before the device is forbidden.
You can set device attributes only when the VO device is disabled.
【Example】
None.
【Related Topic】
5.3.3. CVI_VO_IsEnabled¶
【Description】
Check if the output device is enabled.
【Syntax】
CVI_BOOL CVI_VO_IsEnabled(VO_DEV VoDev);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoDev |
Video output device number. Value range: [0, VO_MAX_DEV_NUM] |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
library files: libvo.a
【Note】
None.
【Example】
None.
【Related Topic】
5.3.4. CVI_VO_SetPubAttr¶
【Description】
Set the properties of the video output device.
【Syntax】
CVI_S32 CVI_VO_SetPubAttr(VO_DEV VoDev, const VO_PUB_ATTR_S *pstPubAttr);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoDev |
Video output device number. Value range: [0, VO_MAX_DEV_NUM]。 |
Input |
pstPubAttr |
Pointer to the common attribute structure of the video output device. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
The property of video output device is static and must be configured before CVI_VO_Enable.
See VO_DEV for instructions on how to use DEV.
Please refer to the VO_PUB_ATTR_S chapter for the description of video output device properties.
【Example】
None.
【Related Topic】
5.3.5. CVI_VO_GetPubAttr¶
【Description】
Get the related properties of the video output device.
【Syntax】
CVI_S32 CVI_VO_GtPubAttr(VO_DEV VoDev, VO_PUB_ATTR_S *pstPubAttr);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoDev |
Video output device number. Value range: [0, VO_MAX_DEV_NUM]. |
Input |
pstPubAttr |
Pointer to the common attribute structure of the video output device. |
Output |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
Obtain the attributes before setting the public attributes of the device so that you can set only the configuration items that you want to change.
【Example】
None.
【Related Topic】
5.3.6. CVI_VO_Suspend¶
【Description】
Suspend the video output device.
【Syntax】
CVI_S32 CVI_VO_Suspend(void);
【Parameter】
None.
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
None.
【Example】
None.
【Related Topic】
None.
5.3.7. CVI_VO_Resume¶
【Description】
Resume the video output device.
【Syntax】
CVI_S32 CVI_VO_Resume(void);
【Parameter】
None.
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
None.
【Example】
None.
【Related Topic】
None.
5.3.8. CVI_VO_I80Init¶
【Description】
Initialize I80 instruction by instruction.
【Syntax】
CVI_S32 CVI_VO_I80Init(VO_DEV VoDev, const VO_I80_INSTR_S *pi80Instr, CVI_U8 size);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoDev |
Video output device number. Value range: [0, VO_MAX_DEV_NUM]. |
Input |
pi80Instr |
Pointer to I80 initialization instruction structure. |
Input |
size |
Number of I80 initialization instructions. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
None.
【Example】
None.
【Related Topic】
None.
5.3.9. CVI_VO_EnableVideoLayer¶
【Description】
Enable the video layer.
【Syntax】
CVI_S32 CVI_VO_EnableVideoLayer (VO_LAYER VoLayer);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
Before enabling the video layer, the device bound to the video layer must be enabled.
【Example】
None.
【Related Topic】
5.3.10. CVI_VO_DisableVideoLayer¶
【Description】
Disable the video layer.
【Syntax】
CVI_S32 CVI_VO_DisableVideoLayer (VO_LAYER VoLayer);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
Before the video layer is disabled, the channel on it must be disabled first.
【Example】
None.
【Related Topic】
5.3.11. CVI_VO_SetVideoLayerAttr¶
【Description】
Configure properties of the video layer.
【Syntax】
CVI_S32 CVI_VO_SetVideoLayerAttr (VO_LAYER VoLayer, const VO_VIDEO_LAYER_ATTR_S *pstLayerAttr);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
pstLayerAttr |
Pointer to the video layer properties structure. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
None.
【Example】
None.
【Related Topic】
5.3.12. CVI_VO_GetVideoLayerAttr¶
【Description】
Get the related properties of the video layer.
【Syntax】
CVI_S32 CVI_VO_GetVideoLayerAttr (VO_LAYER VoLayer, VO_VIDEO_LAYER_ATTR_S *pstLayerAttr);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
pstLayerAttr |
Pointer to the video layer properties structure. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
None.
【Example】
None.
【Related Topic】
5.3.13. CVI_VO_GetLayerProcAmpCtrl¶
【Description】
Get image effect control parameters for the video layer.
【Syntax】
CVI_S32 CVI_VO_GetLayerProcAmpCtrl(VO_LAYER VoLayer, PROC_AMP_E type, PROC_AMP_CTRL_S *ctrl);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
type |
The type of video layer image effect. |
Input |
ctrl |
Pointer to the structure of the video layer image effect control parameter. |
Output |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
This interface is mainly used to obtain video layer image effects, including brightness, contrast, tone, saturation range, step, and default values.
【Example】
Please refer to the example of CVI_VO_SetLayerProcAmp 。
【Related Topic】
5.3.14. CVI_VO_SetLayerProcAmp¶
【Description】
Set the image effect attribute of the video layer
【Syntax】
CVI_S32 CVI_VO_SetLayerProcAmp(VO_LAYER VoLayer, PROC_AMP_E type, CVI_S32 value);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
type |
The type of video layer image effect. |
Input |
value |
Image effect parameter values. |
Output |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
This interface is mainly used to set the image effects of video layers, including brightness, contrast, tone, and saturation.
The range of values for brightness, contrast, and saturation is [0, 255], while the range of values for hue is [0, 359].
The video layer is not allowed to be called before it is started.
【Example】
None.
【Related Topic】
5.3.15. CVI_VO_GetLayerProcAmp¶
【Description】
Get the image effect attribute of the video layer.
【Syntax】
CVI_S32 CVI_VO_GetLayerProcAmp(VO_LAYER VoLayer, PROC_AMP_E type, CVI_S32 *value);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
type |
The type of video layer image effect. |
Input |
value |
Pointer to the value variable of the image effect parameter. |
Output. |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
This interface is mainly used to obtain video layer image effects, including brightness, contrast, tone, and saturation.
The video layer is not allowed to be called before it is started.
【Example】
Please refer to the example of CVI_VO_SetLayerProcAmp.
【Related Topic】
5.3.16. CVI_VO_SetDisplayBufLen¶
【Description】
Set the length of the video display buffer.
【Syntax】
CVI_S32 CVI_VO_SetDisplayBufLen(VO_LAYER VoLayer, CVI_U32 u32BufLen);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
u32BufLen |
The length of the video display buffer. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
Before calling, it is necessary to ensure that the video layer is not enabled, otherwise it will be invalid.
【Example】
None.
【Related Topic】
5.3.17. CVI_VO_GetDisplayBufLen¶
【Description】
Get the length of the video display buffer.
【Syntax】
CVI_S32 CVI_VO_GetDisplayBufLen(VO_LAYER VoLayer, CVI_U32 *pu32BufLen);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
PROC_AMP_E |
Video layer processing parameter. |
Input |
pu32BufLen |
Pointer to the length variable of the video display buffer. |
Output. |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
None.
【Example】
None.
【Related Topic】
5.3.18. CVI_VO_EnableChn¶
【Description】
Enables the specified video output channel.
【Syntax】
CVI_S32 CVI_VO_EnableChn(VO_LAYER VoLayer, VO_CHN VoChn);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel ID. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
The video layer on the corresponding device must be enabled before calling.
The channel must be configured before the channel is enabled. Otherwise an error message indicating that the channel is not configured is displayed.
【Example】
None.
【Related Topic】
5.3.19. CVI_VO_DisableChn¶
【Description】
Disable the video output channel.
【Syntax】
CVI_S32 CVI_VO_DisableChn(VO_LAYER VoLayer, VO_CHN VoChn);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel ID. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
None.
【Example】
None.
【Related Topic】
5.3.20. CVI_VO_SetChnAttr¶
【Description】
Configure the properties of the video output channel.
【Syntax】
CVI_S32 CVI_VO_SetPubAttr(VO_LAYER VoLayer, VO_CHN VoChn, const VO_CHN_ATTR_S *pstChnAttr);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel ID. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
pstChnAttr |
Pointer to the properties structure of the video output channel. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
The channel display area should be smaller than the stImageSize set in the video layer properties.
【Example】
None.
【Related Topic】
5.3.21. CVI_VO_GetChnAttr¶
【Description】
Get the related properties of video output channel.
【Syntax】
CVI_S32 CVI_VO_GtPubAttr(VO_LAYER VoLayer, VO_CHN VoChn, VO_CHN_ATTR_S *pstChnAttr);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel ID. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
pstChnAttr |
Pointer to the properties structure of the video output channel. |
Output |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
None.
【Example】
None.
【Related Topic】
5.3.22. CVI_VO_ShowChn¶
【Description】
Displays the specified video output channel.
【Syntax】
CVI_S32 CVI_VO_ShowChn(VO_LAYER VoLayer, VO_CHN VoChn);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel ID. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
Before calling, the video channel on the corresponding device must be enabled.
By default, it is in the display state.
【Example】
None.
【Related Topic】
5.3.23. CVI_VO_HideChn¶
【Description】
Hides the specified video output channel.
【Syntax】
CVI_S32 CVI_VO_HideChn(VO_LAYER VoLayer, VO_CHN VoChn);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel ID. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
None.
【Example】
None.
【Related Topic】
5.3.24. CVI_VO_SetChnRotation¶
【Description】
Set the properties of VO channel rotation.
【Syntax】
CVI_S32 CVI_VO_SetChnRotation(VO_LAYER VoLayer, VO_CHN VoChn, ROTATION_E enRotation);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel number. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
enRotation |
Rotation properties. See ROTATION_E for details. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
Before using this interface, you need to call CVI_VO_SetChnAttr(); otherwise, the system displays a failure message.
CV182x/CV181x supports rotation only in NV12, NV21, and YUV400 formats.
After setting, rotation will apply to the video image entering the channel.
Pay attention to setting the attribute size of the video layer and the video channel.
For example, the size of the channel is set to 1920x1080 and rotated 90 degrees, so the image input to the channel should be 1080x1920.
【Example】
None.
【Related Topic】
None.
5.3.25. CVI_VO_GetChnRotation¶
【Description】
Get the properties of VO channel rotation.
【Syntax】
CVI_S32 CVI_VO_GetChnRotation(VO_LAYER VoLayer, VO_CHN VoChn, ROTATION_E *penRotation);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel number. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
penRotation |
Rotation property pointer. See ROTATION_E for details. |
Output |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
Before using this interface, you need to call CVI_VO_SetChnAttr();
otherwise, the system displays a failure message.
【Example】
None.
【Related Topic】
5.3.26. CVI_VO_PauseChn¶
【Description】
Pause the output of the specified VO channel.
【Syntax】
CVI_S32 CVI_VO_PauseChn(VO_LAYER VoLayer, VO_CHN VoChn);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel number. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
The video channel on the corresponding device must be enabled before calling.
It is allowed to pause the same channel repeatedly without returning failure.
【Example】
None.
【Related Topic】
5.3.27. CVI_VO_ResumeChn¶
【Description】
Resume the output of the specified VO channel.
【Syntax】
CVI_S32 CVI_VO_ResumeChn(VO_LAYER VoLayer, VO_CHN VoChn);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel number. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
The video channel on the corresponding device must be enabled before calling.
It is allowed to resume the same channel repeatedly without returning failure.
【Example】
None.
【Related Topic】
5.3.28. CVI_VO_ClearChnBuf¶
【Description】
Clear the video buffer of the specified channel for the specified video layer.
【Syntax】
CVI_S32 CVI_VO_ClearChnBuf(VO_LAYER VoLayer, VO_CHN VoChn, CVI_BOOL bClrAll);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel ID. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
bClrAll |
A marker indicating whether all items need to be cleared. CVI-TRUE: Clear all data in the channel, and there will
be no image displayed in the area of that channel on
the screen until new image data arrives.
CVI-FALSE: Retains one frame of image data in the
channel and clears other data.
|
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
None.
【Note】
None.
【Example】
None.
【Related Topic】
5.3.29. CVI_VO_SendFrame¶
【Description】
Send video frames to the specified channel of the specified video layer.
【Syntax】
CVI_S32 CVI_VO_SendFrame(VO_LAYER VoLayer, VO_CHN VoChn, VIDEO_FRAME_INFO_S *pstVideoFrame, CVI_S32 s32MilliSec);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel ID. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
pstVideoFrame |
Pointer to the structure of video frame information. |
Input |
s32MilliSec |
Waiting time after sending video frames |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
Before calling this interface, it is necessary to ensure that the channel is enabled.
Blocking sending is currently not supported, s32MilliSec is useless.
The input video data information should meet the requirements of VO data.
【Example】
None.
【Related Topic】
None.
5.3.30. CVI_VO_SendLogoFromIon¶
【Description】
Send vdec bootlogo frames to the specified channel of the specified video layer。
【Syntax】
CVI_S32 CVI_VO_SendLogoFromIon(VO_LAYER VoLayer, VO_CHN VoChn, VIDEO_FRAME_INFO_S *pstVideoFrame, CVI_S32 s32MilliSec);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel ID. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
pstVideoFrame |
Pointer to the structure of video frame information. |
Input |
s32MilliSec |
Waiting time after sending video frames |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
Before calling this interface, it is necessary to ensure that the channel is enabled.
Blocking sending is currently not supported, s32MilliSec is useless.
The input video data information should meet the requirements of VO data.
【Example】
None.
【Related Topic】
None.
5.3.31. CVI_VO_CloseFd¶
【Description】
Close the file handle of the video output device.
【Syntax】
CVI_S32 CVI_VO_CloseFd(CVI_VOID);
【Parameter】
None.
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
After this interface is invoked, other MMF interfaces on the VO become invalid.
【Example】
None.
【Related Topic】
None.
5.3.32. CVI_VO_Get_Panel_Status¶
【Description】
Get the status of the display panel.
【Syntax】
CVI_S32 CVI_VO_Get_Panel_Status(VO_LAYER VoLayer, VO_CHN VoChn, CVI_U32 *is_init);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
VoChn |
Video output channel number. Value range: [0, VO_MAX_CHN_NUM]. |
Input |
is_init |
Mark whether the display panel is initialized. |
Output |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Requirement】
Header files: cvi_vo.h, cvi_comm_vo.h
Library files: libvo.a
【Note】
The video channel on the corresponding device must be enabled before calling.
It is allowed to pause the same channel repeatedly without returning failure.
【Example】
None.
- 【Related Topic】
None.
5.3.33. CVI_VO_RegPmCallBack¶
【Description】
Register the power management callback function.
【Syntax】
CVI_S32 CVI_VO_RegPmCallBack(VO_DEV VoDev, VO_PM_OPS_S *pstPmOps, void *pvData);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoLayer |
Video output video layer ID. Value range: [0, VO_MAX_LAYER_NUM]. |
Input |
pstPmOps |
Pointer to the structure of the power management function. |
Input |
pvData |
Extra user data pointer. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Note】
None.
【Example】
None.
【Related Topic】
5.3.34. CVI_VO_UnRegPmCallBack¶
【Description】
Unregister the power management callback function.
【Syntax】
CVI_S32 CVI_VO_UnRegPmCallBack(VO_DEV VoDev);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoDev |
Video output device number. Value range: [0, VO_MAX_DEV_NUM]. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Note】
None.
【Example】
None.
【Related Topic】
5.3.35. CVI_VO_SetGammaInfo¶
【Description】
Set gamma correction information.
【Syntax】
CVI_S32 CVI_VO_SetGammaInfo(VO_GAMMA_INFO_S *pinfo);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
pinfo |
Pointer to the gamma correction information structure. |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Note】
None.
【Example】
None.
【Related Topic】
5.3.36. CVI_VO_GetGammaInfo¶
【Description】
Set gamma correction information.
【Syntax】
CVI_S32 CVI_VO_GetGammaInfo(VO_GAMMA_INFO_S *pinfo);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
pinfo |
Pointer to the gamma correction information structure. |
Output |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Note】
None.
【Example】
None.
【Related Topic】
5.3.37. CVI_VO_ShowPattern¶
【Description】
Display pattern on the device.
【Syntax】
CVI_S32 CVI_VO_ShowPattern(VO_DEV VoDev, enum VO_PATTERN_MODE PatternId);
【Parameter】
Parameter |
Description |
Input/Output |
---|---|---|
VoDev |
Video output device number. Value range: [0, VO_MAX_DEV_NUM]. |
Input |
VO_PATTERN_MODE |
Pattern operation instruction ID |
Input |
【Return Value】
Return Value |
Description |
---|---|
0 |
Success. |
Non 0 |
Failure. For details, please refer to Error Codes. |
【Note】
This interface is used to output the built-in test pattern of the chip when debugging the screen.
【Example】
None.
【Related Topic】
None.