avbuf
Vitis Drivers API Documentation
|
This file implements all the functions related to the Video Pipeline of the DisplayPort Subsystem.
Features supported by this driver
MODIFICATION HISTORY:
Ver Who Date Changes
1.0 aad 06/24/17 Initial release. 2.0 aad 10/07/17 Added Enums for Video and Audio sources.
Data Structures | |
struct | XAVBuf_VideoAttribute |
This typedef describes the attributes associated with the video formats. More... | |
struct | XAVBuf_AudioAttribute |
This typedef stores the attributes of an audio stream. More... | |
struct | XAVBuf_AVModes |
This typedef stores the data associated with the Audio Video input modes. More... | |
struct | XAVBuf_BlenderBgClr |
This structure stores the background color information. More... | |
struct | XAVBuf_Config |
This typedef stores the AVBuf Configuration information. More... | |
struct | XAVBuf_Blender |
This typedef stores all the attributes associated to the Blender block of the DisplayPort Subsystem. More... | |
struct | XAVBuf |
The XAVBuf driver instance data. More... | |
Enumerations | |
enum | XAVBuf_VideoFormat |
This typedef describes all the Video Formats supported by the driver. More... | |
enum | XAVBuf_VideoModes |
This data structure describes video planes. More... | |
enum | XAVBuf_VideoStream |
This typedef describes the video source list. More... | |
enum | XAVBuf_GfxStream |
This typedef describes the graphics source list. More... | |
enum | XAVBuf_AudioStream1 |
This typedef describes the audio stream 1 source list. More... | |
enum | XAVBuf_AudioStream2 |
This typedef describes the audio stream 2 source list. More... | |
Functions | |
void | XAVBuf_CfgInitialize (XAVBuf *InstancePtr, u32 BaseAddr, u16 DeviceId) |
This function intializes the configuration for the AVBuf Instance. More... | |
void | XAVBuf_InputVideoSelect (XAVBuf *InstancePtr, XAVBuf_VideoStream VidStream, XAVBuf_GfxStream GfxStream) |
This function selects the source for the Video and Graphics streams that are passed on to the blender block. More... | |
void | XAVBuf_InputAudioSelect (XAVBuf *InstancePtr, XAVBuf_AudioStream1 AudStream, XAVBuf_AudioStream2 AudioStream2) |
This function selects the source for audio streams corresponding to the Video and Graphics streams that are passed on to the blender. More... | |
int | XAVBuf_SetInputNonLiveVideoFormat (XAVBuf *InstancePtr, XAVBuf_VideoFormat Format) |
This function sets the video format for the non-live video. More... | |
int | XAVBuf_SetInputNonLiveGraphicsFormat (XAVBuf *InstancePtr, XAVBuf_VideoFormat Format) |
This function sets the graphics format for the non-live video. More... | |
int | XAVBuf_SetInputLiveVideoFormat (XAVBuf *InstancePtr, XAVBuf_VideoFormat Format) |
This function sets the video format for the live video. More... | |
int | XAVBuf_SetInputLiveGraphicsFormat (XAVBuf *InstancePtr, XAVBuf_VideoFormat Format) |
This function sets the graphics format for the live video. More... | |
int | XAVBuf_SetOutputVideoFormat (XAVBuf *InstancePtr, XAVBuf_VideoFormat Format) |
This function sets the Output Video Format. More... | |
XAVBuf_VideoAttribute * | XAVBuf_GetLiveVideoAttribute (XAVBuf_VideoFormat Format) |
This function looks up if the video format is valid or not for the non-live video datapath and returns a pointer to the attributes of the video. More... | |
XAVBuf_VideoAttribute * | XAVBuf_GetNLiveVideoAttribute (XAVBuf_VideoFormat Format) |
This function looks up if the video format is valid or not and returns a pointer to the attributes of the video. More... | |
XAVBuf_VideoAttribute * | XAVBuf_GetNLGraphicsAttribute (XAVBuf_VideoFormat Format) |
This function looks up if the video format is valid or not and returns a pointer to the attributes of the video. More... | |
void | XAVBuf_SetAudioVideoClkSrc (XAVBuf *InstancePtr, u8 VideoClk, u8 AudioClk) |
This function sets the Audio and Video Clock Source and the video timing source. More... | |
void | XAVBuf_ConfigureVideoPipeline (XAVBuf *InstancePtr) |
This function configures the Video Pipeline. More... | |
void | XAVBuf_ConfigureGraphicsPipeline (XAVBuf *InstancePtr) |
This function configures the Graphics Pipeline. More... | |
void | XAVBuf_BlendSetBgColor (XAVBuf *InstancePtr, XAVBuf_BlenderBgClr *Color) |
This function sets the blender background color. More... | |
void | XAVBuf_SetBlenderAlpha (XAVBuf *InstancePtr, u8 Alpha, u8 Enable) |
This function enables or disables global alpha. More... | |
void | XAVBuf_SoftReset (XAVBuf *InstancePtr) |
This function applies a soft reset to the Audio Video pipeline. More... | |
void | XABuf_LineResetDisable (XAVBuf *InstancePtr, u8 Disable) |
This function enables End of Line Reset for reduced blanking resolutions. More... | |
void | XAVBuf_ConfigureOutputVideo (XAVBuf *InstancePtr) |
This function configures the Output of the Video Pipeline. More... | |
void | XAVBuf_AudioSoftReset (XAVBuf *InstancePtr) |
This function resets the Audio Pipe. More... | |
void | XAVBuf_AudioMixerVolumeControl (XAVBuf *InstancePtr, u8 Channel0Volume, u8 Channel1Volume) |
This function sets up the scaling factor for Audio Mixer Volume Control. More... | |
void | XAVBuf_EnableGraphicsBuffers (XAVBuf *InstancePtr, u8 Enable) |
This function enables the graphics interface between the DPDMA and the AVBuf. More... | |
void | XAVBuf_EnableVideoBuffers (XAVBuf *InstancePtr, u8 Enable) |
This function enables the video channel interface between the DPDMA and the AVBuf. More... | |
void | XAVBuf_EnableAudio0Buffers (XAVBuf *InstancePtr, u8 Enable) |
This function enables the audio interface between the DPDMA and the AVBuf. More... | |
void | XAVBuf_EnableAudio1Buffers (XAVBuf *InstancePtr, u8 Enable) |
This function enables the audio interface between the DPDMA and the AVBuf. More... | |
enum XAVBuf_AudioStream1 |
This typedef describes the audio stream 1 source list.
enum XAVBuf_AudioStream2 |
This typedef describes the audio stream 2 source list.
enum XAVBuf_GfxStream |
This typedef describes the graphics source list.
enum XAVBuf_VideoFormat |
This typedef describes all the Video Formats supported by the driver.
enum XAVBuf_VideoModes |
This data structure describes video planes.
enum XAVBuf_VideoStream |
This typedef describes the video source list.
void XABuf_LineResetDisable | ( | XAVBuf * | InstancePtr, |
u8 | Disable | ||
) |
This function enables End of Line Reset for reduced blanking resolutions.
InstancePtr | is a pointer to the XAVBuf Instance. |
Disable | is to be set while using Reduced Blanking Resolutions. |
References XAVBUF_AUD_SOFT_RST, XAVBuf_ReadReg, and XAVBuf_WriteReg.
void XAVBuf_AudioMixerVolumeControl | ( | XAVBuf * | InstancePtr, |
u8 | Channel0Volume, | ||
u8 | Channel1Volume | ||
) |
This function sets up the scaling factor for Audio Mixer Volume Control.
InstancePtr | is a pointer to the XAVBuf instance. |
Channel0Volume | is the volume to be set for Audio from Channel0 |
Channel1Volume | is the volume to be set for Audio from Channel1 |
References XAVBUF_AUD_MIXER_VOLUME_CONTROL, and XAVBuf_WriteReg.
void XAVBuf_AudioSoftReset | ( | XAVBuf * | InstancePtr | ) |
This function resets the Audio Pipe.
InstancePtr | is a pointer to the XAVBuf Instance. |
References XAVBUF_AUD_SOFT_RST, XAVBuf_ReadReg, and XAVBuf_WriteReg.
void XAVBuf_BlendSetBgColor | ( | XAVBuf * | InstancePtr, |
XAVBuf_BlenderBgClr * | Color | ||
) |
This function sets the blender background color.
InstancePtr | is an pointer to the XAVBuf Instance. |
Color | is a pointer to the structure XAVBuf_BlenderBgClr |
References XAVBUF_V_BLEND_BG_CLR_0, XAVBUF_V_BLEND_BG_CLR_1, XAVBUF_V_BLEND_BG_CLR_2, and XAVBuf_WriteReg.
void XAVBuf_CfgInitialize | ( | XAVBuf * | InstancePtr, |
u32 | BaseAddr, | ||
u16 | DeviceId | ||
) |
This function intializes the configuration for the AVBuf Instance.
InstancePtr | is a pointer to the XAVBuf instance. |
BaseAddr | sets the base address of the AVBuf instance |
DeviceId | is the id of the device from the design. |
void XAVBuf_ConfigureGraphicsPipeline | ( | XAVBuf * | InstancePtr | ) |
This function configures the Graphics Pipeline.
InstancePtr | is an pointer to the XAVBuf Instance. |
void XAVBuf_ConfigureOutputVideo | ( | XAVBuf * | InstancePtr | ) |
This function configures the Output of the Video Pipeline.
InstancePtr | is an pointer to the XAVBuf Instance. |
References XAVBUF_V_BLEND_OUTPUT_VID_FORMAT, and XAVBuf_WriteReg.
void XAVBuf_ConfigureVideoPipeline | ( | XAVBuf * | InstancePtr | ) |
This function configures the Video Pipeline.
InstancePtr | is an pointer to the XAVBuf Instance. |
void XAVBuf_EnableAudio0Buffers | ( | XAVBuf * | InstancePtr, |
u8 | Enable | ||
) |
This function enables the audio interface between the DPDMA and the AVBuf.
InstancePtr | is a pointer to the XAVBuf Instance. |
Enable | sets the corresponding buffers. |
References XAVBUF_CHBUF4, and XAVBuf_WriteReg.
void XAVBuf_EnableAudio1Buffers | ( | XAVBuf * | InstancePtr, |
u8 | Enable | ||
) |
This function enables the audio interface between the DPDMA and the AVBuf.
InstancePtr | is a pointer to the XAVBuf Instance. |
Enable | sets the corresponding buffers. |
References XAVBUF_CHBUF5, and XAVBuf_WriteReg.
void XAVBuf_EnableGraphicsBuffers | ( | XAVBuf * | InstancePtr, |
u8 | Enable | ||
) |
This function enables the graphics interface between the DPDMA and the AVBuf.
InstancePtr | is a pointer to the XAVBuf Instance. |
Enable | sets the corresponding buffers. |
References XAVBUF_CHBUF3, and XAVBuf_WriteReg.
void XAVBuf_EnableVideoBuffers | ( | XAVBuf * | InstancePtr, |
u8 | Enable | ||
) |
This function enables the video channel interface between the DPDMA and the AVBuf.
InstancePtr | is a pointer to the XAVBuf Instance. |
Enable | sets the corresponding buffers. |
References XAVBUF_CHBUF0, and XAVBuf_WriteReg.
XAVBuf_VideoAttribute* XAVBuf_GetLiveVideoAttribute | ( | XAVBuf_VideoFormat | Format | ) |
This function looks up if the video format is valid or not for the non-live video datapath and returns a pointer to the attributes of the video.
Format | takes in the video format for which attributes are being requested. |
Referenced by XAVBuf_SetInputLiveGraphicsFormat(), XAVBuf_SetInputLiveVideoFormat(), and XAVBuf_SetOutputVideoFormat().
XAVBuf_VideoAttribute* XAVBuf_GetNLGraphicsAttribute | ( | XAVBuf_VideoFormat | Format | ) |
This function looks up if the video format is valid or not and returns a pointer to the attributes of the video.
Format | takes in the video format for which attributes are being requested. |
Referenced by XAVBuf_SetInputNonLiveGraphicsFormat().
XAVBuf_VideoAttribute* XAVBuf_GetNLiveVideoAttribute | ( | XAVBuf_VideoFormat | Format | ) |
This function looks up if the video format is valid or not and returns a pointer to the attributes of the video.
Format | takes in the video format for which attributes are being requested. |
Referenced by XAVBuf_SetInputNonLiveVideoFormat().
void XAVBuf_InputAudioSelect | ( | XAVBuf * | InstancePtr, |
XAVBuf_AudioStream1 | AudStream1, | ||
XAVBuf_AudioStream2 | AudStream2 | ||
) |
This function selects the source for audio streams corresponding to the Video and Graphics streams that are passed on to the blender.
InstancePtr | is a pointer to the XAVBuf instance. |
AudStream1 | selects the audio stream source corresponding to the video source selected |
AudStream2 | selects the audio stream source corresponding to the graphics source selected. |
References XAVBUF_BUF_OUTPUT_AUD_VID_SELECT, XAVBuf_ReadReg, and XAVBuf_WriteReg.
void XAVBuf_InputVideoSelect | ( | XAVBuf * | InstancePtr, |
XAVBuf_VideoStream | VidStream, | ||
XAVBuf_GfxStream | GfxStream | ||
) |
This function selects the source for the Video and Graphics streams that are passed on to the blender block.
InstancePtr | is a pointer to the XAVBuf instance. |
VidStream | selects the stream coming from the video sources |
GfxStream | selects the stream coming from the graphics sources |
References XAVBUF_BUF_OUTPUT_AUD_VID_SELECT, XAVBuf_ReadReg, and XAVBuf_WriteReg.
void XAVBuf_SetAudioVideoClkSrc | ( | XAVBuf * | InstancePtr, |
u8 | VideoClk, | ||
u8 | AudioClk | ||
) |
This function sets the Audio and Video Clock Source and the video timing source.
InstancePtr | is a pointer to the XAVBuf instance. |
VideoClk | selects the Video Clock Source |
AudioClk | selects the Audio Clock Source |
References XAVBUF_BUF_AUD_VID_CLK_SOURCE, XAVBuf_SoftReset(), and XAVBuf_WriteReg.
void XAVBuf_SetBlenderAlpha | ( | XAVBuf * | InstancePtr, |
u8 | Alpha, | ||
u8 | Enable | ||
) |
This function enables or disables global alpha.
InstancePtr | is an pointer to the XAVBuf Instance. |
Enable | sets a software flag for global alpha |
Alpha | sets the value for the global alpha blending |
References XAVBUF_V_BLEND_SET_GLOBAL_ALPHA_REG, and XAVBuf_WriteReg.
int XAVBuf_SetInputLiveGraphicsFormat | ( | XAVBuf * | InstancePtr, |
XAVBuf_VideoFormat | Format | ||
) |
This function sets the graphics format for the live video.
InstancePtr | is a pointer to the XAVBuf instance. |
Format | is the enum for the non-live video format |
References XAVBuf_GetLiveVideoAttribute().
int XAVBuf_SetInputLiveVideoFormat | ( | XAVBuf * | InstancePtr, |
XAVBuf_VideoFormat | Format | ||
) |
This function sets the video format for the live video.
InstancePtr | is a pointer to the XAVBuf instance. |
Format | is the enum for the non-live video format |
References XAVBuf_GetLiveVideoAttribute().
int XAVBuf_SetInputNonLiveGraphicsFormat | ( | XAVBuf * | InstancePtr, |
XAVBuf_VideoFormat | Format | ||
) |
This function sets the graphics format for the non-live video.
InstancePtr | is a pointer to the XAVBuf instance. |
Format | is the enum for the non-live video format |
References XAVBuf_GetNLGraphicsAttribute().
int XAVBuf_SetInputNonLiveVideoFormat | ( | XAVBuf * | InstancePtr, |
XAVBuf_VideoFormat | Format | ||
) |
This function sets the video format for the non-live video.
InstancePtr | is a pointer to the XAVBuf instance. |
Format | is the enum for the non-live video format |
References XAVBuf_GetNLiveVideoAttribute().
int XAVBuf_SetOutputVideoFormat | ( | XAVBuf * | InstancePtr, |
XAVBuf_VideoFormat | Format | ||
) |
This function sets the Output Video Format.
InstancePtr | is a pointer to the XAVBuf instance. |
Format | is the enum for the non-live video format |
References XAVBuf_GetLiveVideoAttribute().
void XAVBuf_SoftReset | ( | XAVBuf * | InstancePtr | ) |
This function applies a soft reset to the Audio Video pipeline.
InstancePtr | is a pointer to the XAVBuf instance. |
References XAVBUF_BUF_SRST_REG, and XAVBuf_WriteReg.
Referenced by XAVBuf_SetAudioVideoClkSrc().