v_mix
Vitis Drivers API Documentation
xv_mix_l2.h File Reference

Data Structures

struct  XVMix_LogoColorKey
 This typedef contains configuration information for Logo Color Key. More...
 
struct  XVMix_Layer
 This typedef contains configuration information for a given layer. More...
 
struct  XV_Mix_l2
 Mixer driver Layer 2 data. More...
 

Macros

#define XVMix_GetNumLayers(InstancePtr)   ((InstancePtr)->Mix.Config.NumLayers)
 This macro returns the available layers in IP. More...
 
#define XVMix_GetBackgndColor(InstancePtr)   ((InstancePtr)->BkgndColor)
 This macro returns the current set background color id. More...
 
#define XVMix_GetLayerInterfaceType(InstancePtr, LayerId)   ((InstancePtr)->Mix.Config.LayerIntrfType[LayerId-1])
 This macro returns the interface type for the specified layer. More...
 
#define XVMix_IsLogoEnabled(InstancePtr)   ((InstancePtr)->Mix.Config.LogoEn)
 This macro returns if Logo layer is enabled. More...
 
#define XVMix_IsLogoColorKeyEnabled(InstancePtr)   ((InstancePtr)->Mix.Config.LogoColorKeyEn)
 This macro returns if Logo layer color key feature is enabled. More...
 
#define XVMix_IsLogoPixAlphaEnabled(InstancePtr)   ((InstancePtr)->Mix.Config.LogoPixAlphaEn)
 This macro returns if Logo layer alpha feature is enabled. More...
 
#define XVMix_IsCscCoeffsRegsEnabled(InstancePtr)   ((InstancePtr)->Mix.Config.CscCoeffsRegsEn)
 This macro returns if CSC Coefficient Registers is enabled. More...
 
#define XVMix_IsAlphaEnabled(InstancePtr, LayerId)   ((InstancePtr)->Mix.Config.AlphaEn[LayerId-1])
 This macro returns if alpha feature of specified layer is available. More...
 
#define XVMix_IsScalingEnabled(InstancePtr, LayerId)   ((InstancePtr)->Mix.Config.ScalingEn[LayerId-1])
 This macro returns if scaling feature of specified layer is available. More...
 
#define XVMix_IsLayerInterfaceStream(InstancePtr, LayerId)   ((InstancePtr)->Mix.Config.LayerIntrfType[LayerId-1] == XVMIX_LAYER_TYPE_STREAM)
 This macro check if specified layer interface type is STREAM. More...
 

Typedefs

typedef void(* XVMix_Callback )(void *CallbackRef)
 Callback type for interrupt. More...
 

Enumerations

enum  XVMix_BackgroundId
 This typedef enumerates supported background colors. More...
 
enum  XVMix_Scalefactor
 This typedef enumerates scale factors supported by mixer core. More...
 
enum  XVMix_LayerId
 This typedef enumerates layer index. More...
 
enum  XVMix_LayerType
 This typedef enumerates layer interface type. More...
 

Functions

int XVMix_Initialize (XV_Mix_l2 *InstancePtr, u16 DeviceId)
 This function initializes the core instance. More...
 
void XVMix_Start (XV_Mix_l2 *InstancePtr)
 This function starts the core instance. More...
 
void XVMix_Stop (XV_Mix_l2 *InstancePtr)
 This function stops the core instance. More...
 
void XVMix_SetVidStream (XV_Mix_l2 *InstancePtr, const XVidC_VideoStream *StrmIn)
 This function configures the mixer input stream. More...
 
int XVMix_LayerEnable (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId)
 This function enables the specified layer of the core instance. More...
 
int XVMix_LayerDisable (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId)
 This function disables the specified layer of the core instance. More...
 
int XVMix_IsLayerEnabled (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId)
 This function returns state of the specified layer [enabled or disabled]. More...
 
void XVMix_SetBackgndColor (XV_Mix_l2 *InstancePtr, XVMix_BackgroundId ColorId, XVidC_ColorDepth bpc)
 This function sets the background color to be displayed when stream layer is disabled. More...
 
int XVMix_SetLayerWindow (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId, XVidC_VideoWindow *Win, u32 StrideInBytes)
 This function configures the window coordinates of the specified layer. More...
 
int XVMix_GetLayerWindow (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId, XVidC_VideoWindow *Win)
 This function read the window coordinates of the specified layer. More...
 
int XVMix_MoveLayerWindow (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId, u16 StartX, u16 StartY)
 This function moved the window position of the specified layer to new coordinates. More...
 
int XVMix_SetLayerScaleFactor (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId, XVMix_Scalefactor Scale)
 This function configures the scaling factor of the specified layer. More...
 
int XVMix_GetLayerScaleFactor (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId)
 This function returns the scaling factor of the specified layer. More...
 
int XVMix_SetLayerAlpha (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId, u16 Alpha)
 This function configures the Alpha level of the specified layer. More...
 
int XVMix_GetLayerAlpha (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId)
 This function returns the alpha of the specified layer. More...
 
int XVMix_SetLayerBufferAddr (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId, UINTPTR Addr)
 This function sets the buffer address of the specified layer. More...
 
UINTPTR XVMix_GetLayerBufferAddr (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId)
 This function reads the buffer address of the specified layer. More...
 
int XVMix_SetLayerChromaBufferAddr (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId, UINTPTR Addr)
 This function sets the buffer address of the specified layer for the UV plane for semi-planar formats. More...
 
UINTPTR XVMix_GetLayerChromaBufferAddr (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId)
 This function reads the buffer address of the specified layer for the UV plane for semi-planar formats. More...
 
int XVMix_SetLogoColorKey (XV_Mix_l2 *InstancePtr, XVMix_LogoColorKey ColorKeyData)
 This function sets the logo layer color key data. More...
 
int XVMix_GetLogoColorKey (XV_Mix_l2 *InstancePtr, XVMix_LogoColorKey *ColorKeyData)
 This function reads the logo layer color key data. More...
 
int XVMix_GetLayerColorFormat (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId, XVidC_ColorFormat *Cfmt)
 This function reads the color format of the specified layer. More...
 
int XVMix_LoadLogo (XV_Mix_l2 *InstancePtr, XVidC_VideoWindow *Win, u8 *RBuffer, u8 *GBuffer, u8 *BBuffer)
 This function loads the logo data into core BRAM. More...
 
int XVMix_LoadLogoPixelAlpha (XV_Mix_l2 *InstancePtr, XVidC_VideoWindow *Win, u8 *ABuffer)
 This function loads the logo pixel alpha data into core BRAM. More...
 
void XVMix_DbgReportStatus (XV_Mix_l2 *InstancePtr)
 This function reports the mixer status. More...
 
void XVMix_DbgLayerInfo (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId)
 This function reports the mixer status of the specified layer. More...
 
void XVMix_InterruptHandler (void *InstancePtr)
 This function is the interrupt handler for the mixer core driver. More...
 
int XVMix_SetCallback (XV_Mix_l2 *InstancePtr, void *CallbackFunc, void *CallbackRef)
 This function installs an asynchronous callback function for Mixer interrupt. More...
 
void XVMix_InterruptEnable (XV_Mix_l2 *InstancePtr)
 This function enables interrupts in the core. More...
 
void XVMix_InterruptDisable (XV_Mix_l2 *InstancePtr)
 This function disables interrupts in the core. More...