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:

The interface related APIs are as follows:

Video layer related APIs are as follows:

Channel related APIs are as follows:

Other APIs are as follows:

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】

CVI_VO_Enable

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】

CVI_VO_GetLayerProcAmp

CVI_VO_SetLayerProcAmp

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.