![]() |
dcsub
Vitis Drivers API Documentation
|
This file implements all the functions related to the Video Pipeline of the DisplayPort Subsystem.
See xdc.h for the detailed description of the driver.
MODIFICATION HISTORY:
Ver Who Date Changes
1.0 ck 03/14/2025 Initial Version
Functions | |
| u32 | XDcSub_CfgInitialize (XDcSub *InstancePtr) |
| This function intializes the configuration of all instances part of DC subsystem i.e DC, DCDMA, Interrupts. More... | |
| u32 | XDcSub_Initialize (XDcSub *InstancePtr) |
| This function initializes all the data structures of the XDcSub Instance. More... | |
| u32 | XDcSub_SetVidInterfaceMode (XDcSub *InstancePtr, XDc_VidInterface Mode) |
| This function sets the Interface mode for DCSub DC Instance. More... | |
| u32 | XDcSub_SetBlenderBgColor (XDcSub *InstancePtr, XDc_BlenderBgClr *Color) |
| This function sets the blender background color. More... | |
| u32 | XDcSub_SetGlobalAlpha (XDcSub *InstancePtr, XDc_AlphaBlend AlphaEnable, u8 Alpha) |
| This function enables or disables global alpha. More... | |
| u32 | XDcSub_SetVidStreamSrc (XDcSub *InstancePtr, XDc_VideoStream1 VidStream1, XDc_VideoStream2 VidStream2) |
| This function selects the source type for the Video and Graphics input streams that are passed on to the blender block. More... | |
| u32 | XDcSub_SetInputAudioSelect (XDcSub *InstancePtr, XDc_AudioStream AudStream) |
| This function selects the source type for audio stream. More... | |
| u32 | XDcSub_SetInputNonLiveVideoFormat (XDcSub *InstancePtr, XDc_VideoFormat Format1, XDc_VideoFormat Format2) |
| This function selects the source type for audio stream. More... | |
| u32 | XDcSub_SetInputLiveStreamFormat (XDcSub *InstancePtr, XDc_VideoFormat Format1, XDc_VideoFormat Format2) |
| This function sets the stream1 format for the live video. More... | |
| u32 | XDcSub_SetOutputVideoFormat (XDcSub *InstancePtr, XDc_VideoFormat Format) |
| This function sets the Output Video Format. More... | |
| u32 | XDcSub_SetStreamPixelScaling (XDcSub *InstancePtr, u32 *Stream1_ScaleFactors, u32 *Stream2_ScaleFactors) |
| This function sets the scaling factors depending on the source video stream. More... | |
| u32 | XDcSub_SetInputStreamCSC (XDcSub *InstancePtr, u32 *Stream1CSCCoeff, u32 *Stream1CSCOffset, u32 *Stream2CSCCoeff, u32 *Stream2CSCOffset) |
| This function sets the Stream Color space conversion matrix. More... | |
| u32 | XDcSub_SetOutputStreamCSC (XDcSub *InstancePtr, u32 *OutCSCCoeff, u32 *OutCSCOffset) |
| This function sets the Output Stream Color space conversion matrix. More... | |
| u32 | XDcSub_SetInputStreamLayerControl (XDcSub *InstancePtr, u8 BlendBypass1, u8 BlendBypass2) |
| This function sets the Stream1 Blend enable, disable option. More... | |
| u32 | XDcSub_SetChromaKey (XDcSub *InstancePtr, u8 ChromaEnable, u8 ChromaMasterSel, XDc_ChromaKey *Key) |
| This function enables Chroma Keying. More... | |
| u32 | XDcSub_SetCursorBlend (XDcSub *InstancePtr, XDc_CursorBlend Enable, XDc_Cursor *Cursor) |
| This function enables Cursor Blending. More... | |
| u32 | XDcSub_SetAudioVideoClkSrc (XDcSub *InstancePtr) |
| This function sets the Audio and Video Clock Source and the video timing source. More... | |
| u32 | XDcSub_VidClkSelect (XDcSub *InstancePtr, u8 Stream1Sel, u8 Stream2Sel) |
| This function configures DC Video Clock Select. More... | |
| u32 | XDcSub_EnableStream1Buffers (XDcSub *InstancePtr, u8 Enable, u8 Burst) |
| This function enables the video channel interface between the DCDMA and the DC. More... | |
| u32 | XDcSub_EnableStream2Buffers (XDcSub *InstancePtr, u8 Enable, u8 Burst) |
| This function enables the video channel interface between the DCDMA and the DC. More... | |
| u32 | XDcSub_AudLineResetDisable (XDcSub *InstancePtr, u8 Disable) |
| This function enables End of Line Reset for reduced blanking resolutions. More... | |
| u32 | XDcSub_AudExtraBSControl (XDcSub *InstancePtr, u8 Bypass) |
| This function enables Extra BS Control for AUDIO_SOFT_RESET. More... | |
| u32 | XDcSub_SetSdp (XDcSub *InstancePtr, XDc_Sdp Sdp) |
| This function enables SDP from DMA or PL. More... | |
| u32 | XDcSub_SetSdpEmptyThreshold (XDcSub *InstancePtr, u8 Threshold) |
| This function sets SDP Empty Threshold value. More... | |
| u32 | XDcSub_SetSdpCursorBuffers (XDcSub *InstancePtr, u8 Enable, u8 BurstLen) |
| This function enables SDP & Cursor buffers. More... | |
| u32 | XDcSub_SetStreamPartialBlend (XDcSub *InstancePtr, XDc_PartialBlendEn Enable1, XDc_PartialBlend *Coords1, XDc_PartialBlendEn Enable2, XDc_PartialBlend *Coords2) |
| This function enables Partial Blend for both video streams. More... | |
| u32 | XDcSub_SetVidFrameSwitch (XDcSub *InstancePtr, u32 Control) |
| This function configures the register to gate input video on/off at video frame boundary. More... | |
| u32 | XDcSub_SetNonLiveLatency (XDcSub *InstancePtr, u16 Latency) |
| This function configures the memory fetch latency. More... | |
| u32 | XDcSub_EnableStcCtrl (XDcSub *InstancePtr) |
| This function enables STC Control. More... | |
| u32 | XDcSub_ClearStcCtrl (XDcSub *InstancePtr) |
| This function clears STC Control. More... | |
| u32 | XDcSub_SetStcLoad (XDcSub *InstancePtr, u64 InitVal) |
| This function loads STC Init value. More... | |
| u32 | XDcSub_SetStcAdjust (XDcSub *InstancePtr, u32 InitVal) |
| This function Adjust STC value. More... | |
| u64 | XDcSub_GetStcVSyncTs (XDcSub *InstancePtr) |
| This function reads VSync STC value and returns it. More... | |
| u64 | XDcSub_GetStcExtVSyncTs (XDcSub *InstancePtr) |
| This function reads External VSync STC value and returns it. More... | |
| u64 | XDcSub_GetStcCustomEventTs (XDcSub *InstancePtr) |
| This function reads Custom VSync Event STC value and returns it. More... | |
| u64 | XDcSub_GetStcCustomEvent2Ts (XDcSub *InstancePtr) |
| This function reads Custom VSync Event STC value and returns it. More... | |
| u64 | XDcSub_GetStcSnapshot (XDcSub *InstancePtr) |
| This function returns StcSnapshot value. More... | |
| u32 | XDcSub_EnableAudioBuffer (XDcSub *InstancePtr, u8 Enable, u8 BurstLen) |
| This function Enable Audio Buffer channel and sets the burst length. More... | |
| u32 | XDcSub_AudioChannelSelect (XDcSub *InstancePtr, u8 ChannelSel, u8 SampleRate) |
| This function enables audio channel select and programs sample rate. More... | |
| u32 | XDcSub_AudClkSelect (XDcSub *InstancePtr, u32 Select) |
| This function configures DC Audio Clock Select. More... | |
| u32 | XDcSub_SetAudInterfaceMode (XDcSub *InstancePtr, XDc_AudInterface Mode) |
| This function sets the Interface mode for DCSub DC Instance. More... | |
| u32 | XDcSub_EnableAudio (XDcSub *InstancePtr) |
| This function enables DC Aud mode. More... | |
| u32 | XDcSub_DisableAudio (XDcSub *InstancePtr) |
| This function disable DC Aud mode. More... | |
| u32 | XDcSub_ConfigureDcVideo (XDc *InstancePtr) |
| This function configures Dc Video registers in the required sequence. More... | |
| u32 XDcSub_AudClkSelect | ( | XDcSub * | InstancePtr, |
| u32 | Select | ||
| ) |
This function configures DC Audio Clock Select.
| InstancePtr | is a pointer to the XDc instance. |
| Select | configures Audio Clock mode |
| u32 XDcSub_AudExtraBSControl | ( | XDcSub * | InstancePtr, |
| u8 | Bypass | ||
| ) |
This function enables Extra BS Control for AUDIO_SOFT_RESET.
| InstancePtr | is a pointer to the XDc Instance. |
| Bypass | is to be override the extra BS on link. |
| u32 XDcSub_AudioChannelSelect | ( | XDcSub * | InstancePtr, |
| u8 | ChannelSel, | ||
| u8 | SampleRate | ||
| ) |
This function enables audio channel select and programs sample rate.
| InstancePtr | is a pointer to the XDc instance. |
| ChannelSel | selects the different audio channels. |
| SampleRate | selects the different sample rates. |
| u32 XDcSub_AudLineResetDisable | ( | XDcSub * | InstancePtr, |
| u8 | Disable | ||
| ) |
This function enables End of Line Reset for reduced blanking resolutions.
| InstancePtr | is a pointer to the XDc Instance. |
| Disable | is to be set while using Reduced Blanking Resolutions. |
| u32 XDcSub_CfgInitialize | ( | XDcSub * | InstancePtr | ) |
This function intializes the configuration of all instances part of DC subsystem i.e DC, DCDMA, Interrupts.
| InstancePtr | is a pointer to the XDcSub instance. |
| DeviceId | is the id of the device from the design. |
References XDc_CfgInitialize().
| u32 XDcSub_ClearStcCtrl | ( | XDcSub * | InstancePtr | ) |
This function clears STC Control.
| InstancePtr | is a pointer to the XDc instance. |
| u32 XDcSub_ConfigureDcVideo | ( | XDc * | InstancePtr | ) |
This function configures Dc Video registers in the required sequence.
| InstancePtr | is a pointer to the XDc instance. |
References XDc_ConfigureStream(), XDc_EnablePartialBlend(), XDc_EnableStream1Buffers(), XDc_EnableStream2Buffers(), XDc_SetAudioVideoClkSrc(), XDc_SetChromaKey(), XDc_SetCursorBlend(), XDc_SetGlobalAlpha(), XDc_SetInputVideoSelect(), XDc_SetNonLiveLatency(), XDc_SetOutputCSC(), XDc_SetOutputVideoFormat(), and XDc_SetSdpCursorBuffers().
| u32 XDcSub_DisableAudio | ( | XDcSub * | InstancePtr | ) |
This function disable DC Aud mode.
| InstancePtr | is a pointer to the XDc instance. |
| u32 XDcSub_EnableAudio | ( | XDcSub * | InstancePtr | ) |
This function enables DC Aud mode.
| InstancePtr | is a pointer to the XDc instance. |
| u32 XDcSub_EnableAudioBuffer | ( | XDcSub * | InstancePtr, |
| u8 | Enable, | ||
| u8 | BurstLen | ||
| ) |
This function Enable Audio Buffer channel and sets the burst length.
| InstancePtr | is a pointer to the XDc instance. |
| u32 XDcSub_EnableStcCtrl | ( | XDcSub * | InstancePtr | ) |
This function enables STC Control.
| InstancePtr | is a pointer to the XDc instance. |
| u32 XDcSub_EnableStream1Buffers | ( | XDcSub * | InstancePtr, |
| u8 | Enable, | ||
| u8 | Burst | ||
| ) |
This function enables the video channel interface between the DCDMA and the DC.
| InstancePtr | is a pointer to the XDc Instance. |
| Enable | sets the corresponding buffers. |
| Burst | programs burstlength. |
| u32 XDcSub_EnableStream2Buffers | ( | XDcSub * | InstancePtr, |
| u8 | Enable, | ||
| u8 | Burst | ||
| ) |
This function enables the video channel interface between the DCDMA and the DC.
| InstancePtr | is a pointer to the XDc Instance. |
| Enable | sets the corresponding buffers. |
| Burst | programs burstlength. |
| u64 XDcSub_GetStcCustomEvent2Ts | ( | XDcSub * | InstancePtr | ) |
This function reads Custom VSync Event STC value and returns it.
| InstancePtr | is a pointer to the XDc instance. |
| u64 XDcSub_GetStcCustomEventTs | ( | XDcSub * | InstancePtr | ) |
This function reads Custom VSync Event STC value and returns it.
| InstancePtr | is a pointer to the XDc instance. |
| u64 XDcSub_GetStcExtVSyncTs | ( | XDcSub * | InstancePtr | ) |
This function reads External VSync STC value and returns it.
| InstancePtr | is a pointer to the XDc instance. |
| u64 XDcSub_GetStcSnapshot | ( | XDcSub * | InstancePtr | ) |
This function returns StcSnapshot value.
| InstancePtr | is a pointer to the XDc instance. |
| u64 XDcSub_GetStcVSyncTs | ( | XDcSub * | InstancePtr | ) |
This function reads VSync STC value and returns it.
| InstancePtr | is a pointer to the XDc instance. |
| u32 XDcSub_Initialize | ( | XDcSub * | InstancePtr | ) |
This function initializes all the data structures of the XDcSub Instance.
| InstancePtr | is a pointer to the XDcSub instance. |
References XDc_AudioSoftReset(), XDc_SetVidInterfaceMode(), and XDc_WriteProtDisable().
| u32 XDcSub_SetAudInterfaceMode | ( | XDcSub * | InstancePtr, |
| XDc_AudInterface | Mode | ||
| ) |
This function sets the Interface mode for DCSub DC Instance.
DC can be either in bypass mode or functional mode.
| InstancePtr | is a pointer to the XDc instance. |
| Mode | is the enum val to enable or diasable bypass mode. |
| u32 XDcSub_SetAudioVideoClkSrc | ( | XDcSub * | InstancePtr | ) |
This function sets the Audio and Video Clock Source and the video timing source.
| InstancePtr | is a pointer to the XDc instance. |
| u32 XDcSub_SetBlenderBgColor | ( | XDcSub * | InstancePtr, |
| XDc_BlenderBgClr * | Color | ||
| ) |
This function sets the blender background color.
| InstancePtr | is an pointer to the XDcSub Instance. |
| Color | is a pointer to the structure XDc_BlenderBgClr |
| u32 XDcSub_SetChromaKey | ( | XDcSub * | InstancePtr, |
| u8 | ChromaEnable, | ||
| u8 | ChromaMasterSel, | ||
| XDc_ChromaKey * | Key | ||
| ) |
This function enables Chroma Keying.
| InstancePtr | is an pointer to the XDc Instance. |
| u32 XDcSub_SetCursorBlend | ( | XDcSub * | InstancePtr, |
| XDc_CursorBlend | Enable, | ||
| XDc_Cursor * | Cursor | ||
| ) |
This function enables Cursor Blending.
| InstancePtr | is a pointer to the XDc Instance. |
| Cursor | Coordinates. |
| Cursor | Video Attributes. |
| u32 XDcSub_SetGlobalAlpha | ( | XDcSub * | InstancePtr, |
| XDc_AlphaBlend | AlphaEnable, | ||
| u8 | Alpha | ||
| ) |
This function enables or disables global alpha.
| InstancePtr | is an pointer to the XDc Instance. |
| u32 XDcSub_SetInputAudioSelect | ( | XDcSub * | InstancePtr, |
| XDc_AudioStream | AudStream | ||
| ) |
This function selects the source type for audio stream.
| InstancePtr | is a pointer to the XDcSub instance. |
| AudStream | selects the audio stream source type |
| u32 XDcSub_SetInputLiveStreamFormat | ( | XDcSub * | InstancePtr, |
| XDc_VideoFormat | Format1, | ||
| XDc_VideoFormat | Format2 | ||
| ) |
This function sets the stream1 format for the live video.
| InstancePtr | is a pointer to the XDcSub instance. |
| Format1 | is the enum for the live video1 format |
| Format2 | is the enum for the live video2 format |
References XDc_GetLiveVideoAttribute().
| u32 XDcSub_SetInputNonLiveVideoFormat | ( | XDcSub * | InstancePtr, |
| XDc_VideoFormat | Format1, | ||
| XDc_VideoFormat | Format2 | ||
| ) |
This function selects the source type for audio stream.
| InstancePtr | is a pointer to the XDcSub instance. |
| Format1 | selects the nonlive video1 format |
| Format2 | selects the nonlive video2 format |
References XDc_GetNonLiveVideoAttribute().
| u32 XDcSub_SetInputStreamCSC | ( | XDcSub * | InstancePtr, |
| u32 * | Stream1CSCCoeff, | ||
| u32 * | Stream1CSCOffset, | ||
| u32 * | Stream2CSCCoeff, | ||
| u32 * | Stream2CSCOffset | ||
| ) |
This function sets the Stream Color space conversion matrix.
| InstancePtr | is a pointer to the XDc instance. |
| Stream1CSCCoeff | is a pointer to the CSCCoeff values |
| Stream1CSCOffset | is a pointer to the CSCCOffset values |
| Stream2CSCCoeff | is a pointer to the CSCCoeff values |
| Stream2CSCOffset | is a pointer to the CSCCOffset values |
| u32 XDcSub_SetInputStreamLayerControl | ( | XDcSub * | InstancePtr, |
| u8 | BlendBypass1, | ||
| u8 | BlendBypass2 | ||
| ) |
This function sets the Stream1 Blend enable, disable option.
| InstancePtr | is a pointer to the XDc instance. |
| BlendBypass1 | is enables, disables blending for stream |
| BlendBypass2 | is enables, disables blending for stream |
| u32 XDcSub_SetNonLiveLatency | ( | XDcSub * | InstancePtr, |
| u16 | Latency | ||
| ) |
This function configures the memory fetch latency.
| InstancePtr | is a pointer to the XDc instance. |
| Val | bits sets the offset for early timing |
| u32 XDcSub_SetOutputStreamCSC | ( | XDcSub * | InstancePtr, |
| u32 * | OutCSCCoeff, | ||
| u32 * | OutCSCOffset | ||
| ) |
This function sets the Output Stream Color space conversion matrix.
| InstancePtr | is a pointer to the XDc instance. |
| OutCSCCoeff | is a pointer to the CSCCoeff values |
| OutCSCOffset | is a pointer to the CSCOffset values |
| u32 XDcSub_SetOutputVideoFormat | ( | XDcSub * | InstancePtr, |
| XDc_VideoFormat | Format | ||
| ) |
This function sets the Output Video Format.
| InstancePtr | is a pointer to the XDc instance. |
| Format | is the enum for the non-live video format |
References XDc_GetOutputVideoAttribute().
| u32 XDcSub_SetSdp | ( | XDcSub * | InstancePtr, |
| XDc_Sdp | Sdp | ||
| ) |
This function enables SDP from DMA or PL.
| InstancePtr | is a pointer to the XDc Instance. |
| Enable | sets the corresponding buffers. |
| u32 XDcSub_SetSdpCursorBuffers | ( | XDcSub * | InstancePtr, |
| u8 | Enable, | ||
| u8 | BurstLen | ||
| ) |
This function enables SDP & Cursor buffers.
| InstancePtr | is a pointer to the XDc Instance. |
| Enable. |
| u32 XDcSub_SetSdpEmptyThreshold | ( | XDcSub * | InstancePtr, |
| u8 | Threshold | ||
| ) |
This function sets SDP Empty Threshold value.
| InstancePtr | is a pointer to the XDc Instance. |
| Empty | Threshold value. |
| u32 XDcSub_SetStcAdjust | ( | XDcSub * | InstancePtr, |
| u32 | InitVal | ||
| ) |
This function Adjust STC value.
| InstancePtr | is a pointer to the XDc instance. |
| u32 XDcSub_SetStcLoad | ( | XDcSub * | InstancePtr, |
| u64 | InitVal | ||
| ) |
This function loads STC Init value.
| InstancePtr | is a pointer to the XDc instance. |
| u32 XDcSub_SetStreamPartialBlend | ( | XDcSub * | InstancePtr, |
| XDc_PartialBlendEn | Enable1, | ||
| XDc_PartialBlend * | Coords1, | ||
| XDc_PartialBlendEn | Enable2, | ||
| XDc_PartialBlend * | Coords2 | ||
| ) |
This function enables Partial Blend for both video streams.
| InstancePtr | is a pointer to the XDc Instance. |
| Stream1_Enable. | |
| Stream2_Enable. | |
| Stream1 | Partial Blend Coordinates. |
| Stream2 | Partial Blend Coordinates. |
| u32 XDcSub_SetStreamPixelScaling | ( | XDcSub * | InstancePtr, |
| u32 * | Stream1_ScaleFactors, | ||
| u32 * | Stream2_ScaleFactors | ||
| ) |
This function sets the scaling factors depending on the source video stream.
| InstancePtr | is a pointer to the XDc instance. |
| Scaling | Factors is a pointer to the scaling factors needed for scaling colors to 12 BPC. |
| Scaling | Factors is a pointer to the scaling factors needed for scaling colors to 12 BPC. |
| u32 XDcSub_SetVidFrameSwitch | ( | XDcSub * | InstancePtr, |
| u32 | Control | ||
| ) |
This function configures the register to gate input video on/off at video frame boundary.
| InstancePtr | is a pointer to the XDc instance. |
| Val | bits set different control signals |
| u32 XDcSub_SetVidInterfaceMode | ( | XDcSub * | InstancePtr, |
| XDc_VidInterface | Mode | ||
| ) |
This function sets the Interface mode for DCSub DC Instance.
DC can be either in bypass mode or functional mode.
| InstancePtr | is a pointer to the XDc instance. |
| Mode | is the enum val to enable or diasable bypass mode. |
| u32 XDcSub_SetVidStreamSrc | ( | XDcSub * | InstancePtr, |
| XDc_VideoStream1 | VidStream1, | ||
| XDc_VideoStream2 | VidStream2 | ||
| ) |
This function selects the source type for the Video and Graphics input streams that are passed on to the blender block.
| InstancePtr | is a pointer to the XDc instance. |
| VidStream1 | selects the stream coming from the video source1 |
| VidStream2 | selects the stream coming from the video source2 |
| u32 XDcSub_VidClkSelect | ( | XDcSub * | InstancePtr, |
| u8 | Stream1Sel, | ||
| u8 | Stream2Sel | ||
| ) |
This function configures DC Video Clock Select.
| InstancePtr | is a pointer to the XDc instance. |
| Select | configures Video Clock mode |