v_mix
Vitis Drivers API Documentation
Overview

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_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...
 
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_GetLayerColorFormat (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId, XVidC_ColorFormat *Cfmt)
 This function reads the color format 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_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...
 

Macro Definition Documentation

#define XVMix_GetBackgndColor (   InstancePtr)    ((InstancePtr)->BkgndColor)

This macro returns the current set background color id.

Parameters
InstancePtris a pointer to the core instance.
Returns
Background color id
Note
None.
#define XVMix_GetLayerInterfaceType (   InstancePtr,
  LayerId 
)    ((InstancePtr)->Mix.Config.LayerIntrfType[LayerId-1])

This macro returns the interface type for the specified layer.

Parameters
InstancePtris a pointer to the core instance.
LayerIdis the layer index for which information is requested
Returns
Layer Interface Type
Note
None.

Referenced by XVMix_DbgLayerInfo().

#define XVMix_GetNumLayers (   InstancePtr)    ((InstancePtr)->Mix.Config.NumLayers)
#define XVMix_IsAlphaEnabled (   InstancePtr,
  LayerId 
)    ((InstancePtr)->Mix.Config.AlphaEn[LayerId-1])

This macro returns if alpha feature of specified layer is available.

Parameters
InstancePtris a pointer to the core instance.
LayerIdis the layer index for which information is requested
Returns
Enabled(1)/Disabled(0)
Note
None.

Referenced by XVMix_DbgLayerInfo(), XVMix_GetLayerAlpha(), and XVMix_SetLayerAlpha().

#define XVMix_IsCscCoeffsRegsEnabled (   InstancePtr)    ((InstancePtr)->Mix.Config.CscCoeffsRegsEn)

This macro returns if CSC Coefficient Registers is enabled.

Parameters
InstancePtris a pointer to the core instance.
Returns
Enabled(1)/Disabled(0)
Note
None.
#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.

Parameters
InstancePtris a pointer to the core instance.
LayerIdis the layer index for which information is requested
Returns
TRUE(1)/FALSE(0)

Referenced by XVMix_SetLayerWindow().

#define XVMix_IsLogoColorKeyEnabled (   InstancePtr)    ((InstancePtr)->Mix.Config.LogoColorKeyEn)

This macro returns if Logo layer color key feature is enabled.

Parameters
InstancePtris a pointer to the core instance.
Returns
Enabled(1)/Disabled(0)
Note
None.

Referenced by XVMix_DbgLayerInfo(), XVMix_GetLogoColorKey(), and XVMix_SetLogoColorKey().

#define XVMix_IsLogoEnabled (   InstancePtr)    ((InstancePtr)->Mix.Config.LogoEn)
#define XVMix_IsLogoPixAlphaEnabled (   InstancePtr)    ((InstancePtr)->Mix.Config.LogoPixAlphaEn)

This macro returns if Logo layer alpha feature is enabled.

Parameters
InstancePtris a pointer to the core instance.
Returns
Enabled(1)/Disabled(0)
Note
None.

Referenced by XVMix_DbgLayerInfo(), and XVMix_LoadLogoPixelAlpha().

#define XVMix_IsScalingEnabled (   InstancePtr,
  LayerId 
)    ((InstancePtr)->Mix.Config.ScalingEn[LayerId-1])

This macro returns if scaling feature of specified layer is available.

Parameters
InstancePtris a pointer to the core instance.
LayerIdis the layer index for which information is requested
Returns
Enabled(1)/Disabled(0)
Note
None.

Referenced by XVMix_DbgLayerInfo(), XVMix_GetLayerScaleFactor(), and XVMix_SetLayerScaleFactor().

Typedef Documentation

typedef void(* XVMix_Callback)(void *CallbackRef)

Callback type for interrupt.

Parameters
CallbackRefis a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked.
Returns
None.
Note
None.

Enumeration Type Documentation

This typedef enumerates supported background colors.

This typedef enumerates layer index.

This typedef enumerates layer interface type.

This typedef enumerates scale factors supported by mixer core.

Function Documentation

void XVMix_DbgLayerInfo ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId 
)
void XVMix_DbgReportStatus ( XV_Mix_l2 InstancePtr)

This function reports the mixer status.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
none
Note
none

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_mix_Config::MaxDataWidth, XV_Mix_l2::Mix, XV_mix_Config::PixPerClk, XVMix_GetNumLayers, and XVMix_IsLayerEnabled().

int XVMix_GetLayerAlpha ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId 
)

This function returns the alpha of the specified layer.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer for which information is requested
Returns
If layer enabled, current set value, else ~0
Note
Applicable only for Layer1-8 and Logo Layer

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Mix, XVMix_GetNumLayers, XVMix_IsAlphaEnabled, and XVMix_IsLogoEnabled.

Referenced by XVMix_DbgLayerInfo().

UINTPTR XVMix_GetLayerBufferAddr ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId 
)

This function reads the buffer address of the specified layer.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer to be updated
Returns
Address of buffer in memory
Note
Applicable only for Layer1-8

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Mix, and XVMix_GetNumLayers.

Referenced by XVMix_DbgLayerInfo().

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.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer to be updated
Returns
Address of second buffer in memory
Note
Applicable only for Layer1-8

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Mix, and XVMix_GetNumLayers.

Referenced by XVMix_DbgLayerInfo().

int XVMix_GetLayerColorFormat ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId,
XVidC_ColorFormat *  Cfmt 
)

This function reads the color format of the specified layer.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer to be updated
cfmtis pointer to color format return variable
Returns
XST_SUCCESS or XST_FAILURE
Note
none

References XV_mix_Config::BaseAddress, XV_mix_Config::ColorFormat, XV_mix::Config, XV_Mix_l2::Mix, and XVMix_GetNumLayers.

Referenced by XVMix_DbgLayerInfo().

int XVMix_GetLayerScaleFactor ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId 
)

This function returns the scaling factor of the specified layer.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer for which information is requested
Returns
If layer enabled, current set value, else ~0
Note
Applicable only for Layer1-8 and Logo Layer

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Mix, XVMix_GetNumLayers, XVMix_IsLogoEnabled, and XVMix_IsScalingEnabled.

Referenced by XVMix_DbgLayerInfo(), XVMix_MoveLayerWindow(), and XVMix_SetLayerWindow().

int XVMix_GetLayerWindow ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId,
XVidC_VideoWindow *  Win 
)

This function read the window coordinates of the specified layer.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer for which window coordinates are to be set
Winis the pointer to return window coordinates
Returns
XST_SUCCESS if command is successful else error code with reason
Note
Applicable only for Layer1-8 and Logo Layer

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Mix, XVMix_GetNumLayers, and XVMix_IsLogoEnabled.

Referenced by XVMix_DbgLayerInfo(), XVMix_MoveLayerWindow(), and XVMix_SetLayerScaleFactor().

int XVMix_GetLogoColorKey ( XV_Mix_l2 InstancePtr,
XVMix_LogoColorKey ColorKeyData 
)

This function reads the logo layer color key data.

Parameters
InstancePtris a pointer to core instance to be worked upon
ColorKeyDatais the structure that holds return min/max values
Returns
XST_SUCCESS or XST_FAILURE
Note
none

References XV_Mix_l2::Mix, XVMix_IsLogoColorKeyEnabled, and XVMix_IsLogoEnabled.

Referenced by XVMix_DbgLayerInfo().

int XVMix_Initialize ( XV_Mix_l2 InstancePtr,
u16  DeviceId 
)

This function initializes the core instance.

Parameters
InstancePtris a pointer to core instance to be worked upon
DeviceIdis instance id of the core
Returns
XST_SUCCESS if device is found and initialized XST_DEVICE_NOT_FOUND if device is not found

References XV_Mix_l2::Mix.

void XVMix_InterruptDisable ( XV_Mix_l2 InstancePtr)

This function disables interrupts in the core.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
none

References XV_Mix_l2::Mix.

void XVMix_InterruptEnable ( XV_Mix_l2 InstancePtr)

This function enables interrupts in the core.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
none

References XV_Mix_l2::Mix.

void XVMix_InterruptHandler ( void *  InstancePtr)

This function is the interrupt handler for the mixer core driver.

This handler clears the pending interrupt and determined if the source is frame done signal. If yes, starts the next frame processing and calls the registered callback function

The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using XVMix_SetCallback() during initialization phase.

Parameters
InstancePtris a pointer to the core instance that just interrupted.
Returns
None.
Note
None.

References XV_Mix_l2::CallbackRef, XV_Mix_l2::FrameDoneCallback, XV_mix::IsReady, and XV_Mix_l2::Mix.

int XVMix_IsLayerEnabled ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId 
)

This function returns state of the specified layer [enabled or disabled].

Parameters
InstancePtris a pointer to the core instance.
LayerIdis the layer index for which information is requested
Returns
Enabled(1)/Disabled(0)

References XV_Mix_l2::Mix.

Referenced by XVMix_DbgLayerInfo(), and XVMix_DbgReportStatus().

int XVMix_LayerDisable ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId 
)

This function disables the specified layer of the core instance.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis layer number to be disabled
Returns
XST_SUCCESS or XST_FAILURE
Note
To disable all layers use layer id XVMIX_LAYER_ALL

References XV_Mix_l2::Mix, XVMix_GetNumLayers, and XVMix_IsLogoEnabled.

int XVMix_LayerEnable ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId 
)

This function enables the specified layer of the core instance.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis layer number to be enabled
Returns
XST_SUCCESS or XST_FAILURE
Note
To enable all layers use layer id XVMIX_LAYER_ALL

References XV_Mix_l2::Mix, XVMix_GetNumLayers, and XVMix_IsLogoEnabled.

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.

Parameters
InstancePtris a pointer to core instance to be worked upon
Winis logo window (logo width must be multiple of 4 bytes)
RBufferis the pointer to Red buffer
GBufferis the pointer to Green buffer
BBufferis the pointer to Blue buffer
Returns
XST_SUCCESS or XST_FAILURE
Note
none

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Layer, XV_mix_Config::MaxLogoHeight, XV_mix_Config::MaxLogoWidth, XV_Mix_l2::Mix, XV_mix_Config::PixPerClk, XVMix_IsLogoEnabled, and XVMix_SetLayerWindow().

int XVMix_LoadLogoPixelAlpha ( XV_Mix_l2 InstancePtr,
XVidC_VideoWindow *  Win,
u8 *  ABuffer 
)

This function loads the logo pixel alpha data into core BRAM.

Parameters
InstancePtris a pointer to core instance to be worked upon
Winis logo window (logo width must be multiple of 4 bytes)
ABufferis the pointer to Pixel Alpha buffer
Returns
XST_SUCCESS or XST_FAILURE
Note
none

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_mix_Config::MaxLogoHeight, XV_mix_Config::MaxLogoWidth, XV_Mix_l2::Mix, XV_mix_Config::PixPerClk, XVMix_IsLogoEnabled, and XVMix_IsLogoPixAlphaEnabled.

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.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer for which window position is to be set
StartXis the new X position
StartYis the new Y position
Returns
XST_SUCCESS if command is successful else error code with reason
Note
Applicable only for Layer1-8 and Logo Layer

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Layer, XV_Mix_l2::Mix, XV_mix_Config::PixPerClk, XV_Mix_l2::Stream, XVMix_GetLayerScaleFactor(), XVMix_GetLayerWindow(), XVMix_GetNumLayers, and XVMix_IsLogoEnabled.

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.

Parameters
InstancePtris a pointer to core instance to be worked upon
ColorIdis requested background color
bpcis color depth
Returns
none
Note
none

References XV_Mix_l2::Mix.

int XVMix_SetCallback ( XV_Mix_l2 InstancePtr,
void *  CallbackFunc,
void *  CallbackRef 
)

This function installs an asynchronous callback function for Mixer interrupt.

Parameters
InstancePtris a pointer to the mixer core instance.
CallbackFuncis the address of the callback function.
CallbackRefis a user data item that will be passed to the callback function when it is invoked.
Returns
XST_SUCCESS if callback function installed successfully.
Note
Invoking this function for a handler that already has been installed replaces it with the new handler.

References XV_Mix_l2::CallbackRef, and XV_Mix_l2::FrameDoneCallback.

int XVMix_SetLayerAlpha ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId,
u16  Alpha 
)

This function configures the Alpha level of the specified layer.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer to be updated
Alphais the new value
Returns
XST_SUCCESS if command is successful else error code with reason
Note
Applicable only for Layer1-8 and Logo Layer

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Mix, XVMix_GetNumLayers, XVMix_IsAlphaEnabled, and XVMix_IsLogoEnabled.

int XVMix_SetLayerBufferAddr ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId,
UINTPTR  Addr 
)

This function sets the buffer address of the specified layer.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer to be updated
Addris the absolute address of buffer in memory
Returns
XST_SUCCESS or XST_FAILURE
Note
Applicable only for Layer1-8

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Layer, XV_Mix_l2::Mix, XV_mix_Config::PixPerClk, and XVMix_GetNumLayers.

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.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer to be updated
Addris the absolute address of second buffer in memory
Returns
XST_SUCCESS or XST_FAILURE
Note
Applicable only for Layer1-8

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Layer, XV_Mix_l2::Mix, XV_mix_Config::PixPerClk, and XVMix_GetNumLayers.

int XVMix_SetLayerScaleFactor ( XV_Mix_l2 InstancePtr,
XVMix_LayerId  LayerId,
XVMix_Scalefactor  Scale 
)

This function configures the scaling factor of the specified layer.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer to be updated
Scaleis the scale factor
Returns
XST_SUCCESS if command is successful else error code with reason
Note
Applicable only for Layer1-8 and Logo Layer

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Mix, XV_Mix_l2::Stream, XVMix_GetLayerWindow(), XVMix_GetNumLayers, XVMix_IsLogoEnabled, and XVMix_IsScalingEnabled.

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.

Parameters
InstancePtris a pointer to core instance to be worked upon
LayerIdis the layer for which window coordinates are to be set
Winis the window coordinates in pixels
StrideInBytesis the stride of the requested window yuv422 Color space requires 2 Bytes/Pixel yuv444 Color space requires 4 Bytes/Pixel Equation to compute stride is as follows Stride = (Window_Width * (YUV422 ? 2 : 4)) (Applicable only when layer type is Memory)
Returns
XST_SUCCESS if command is successful else error code with reason
Note
Applicable only for Layer1-8 and Logo Layer

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Layer, XV_mix_Config::MaxHeight, XV_mix_Config::MaxLogoHeight, XV_mix_Config::MaxLogoWidth, XV_Mix_l2::Mix, XV_mix_Config::PixPerClk, XV_Mix_l2::Stream, XVMix_GetLayerScaleFactor(), XVMix_GetNumLayers, XVMix_IsLayerInterfaceStream, and XVMix_IsLogoEnabled.

Referenced by XVMix_LoadLogo().

int XVMix_SetLogoColorKey ( XV_Mix_l2 InstancePtr,
XVMix_LogoColorKey  ColorKeyData 
)

This function sets the logo layer color key data.

Parameters
InstancePtris a pointer to core instance to be worked upon
ColorKeyDatais the structure that holds the min/max values
Returns
XST_SUCCESS or XST_FAILURE
Note
none

References XV_Mix_l2::Mix, XVMix_IsLogoColorKeyEnabled, and XVMix_IsLogoEnabled.

void XVMix_SetVidStream ( XV_Mix_l2 InstancePtr,
const XVidC_VideoStream *  StrmIn 
)

This function configures the mixer input stream.

Parameters
InstancePtris a pointer to the core instance to be worked on.
StrmInis the pointer to input stream configuration
Returns
none

References XV_mix::Config, XV_mix_Config::MaxHeight, XV_mix_Config::MaxWidth, XV_Mix_l2::Mix, and XV_Mix_l2::Stream.

void XVMix_Start ( XV_Mix_l2 InstancePtr)

This function starts the core instance.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
none

References XV_Mix_l2::Mix.

void XVMix_Stop ( XV_Mix_l2 InstancePtr)

This function stops the core instance.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
none

References XV_Mix_l2::Mix.