| v_mix Vitis Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List
- Examples

Data Structures | Macros | Typedefs | Enumerations | Functions
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 for the U plane for 3-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 and for the U plane for 3-planar formats. More...
int | XVMix_SetLayerChromaBuffer2Addr (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId, UINTPTR Addr)
| This function sets the buffer address of the specified layer for the V plane for 3-planar formats. More...
UINTPTR | XVMix_GetLayerChromaBuffer2Addr (XV_Mix_l2 *InstancePtr, XVMix_LayerId LayerId)
| This function reads the buffer address of the specified layer for the V plane for 3-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

  InstancePtr | is 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

  InstancePtr | is a pointer to the core instance.
  LayerId | is 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)

This macro returns the available layers in IP.

Parameters

  InstancePtr | is a pointer to the core instance.

Returns
  Number of layers enabled in HW

Note
  None.

Referenced by XVMix_DbgReportStatus(), XVMix_GetLayerAlpha(), XVMix_GetLayerBufferAddr(), XVMix_GetLayerChromaBuffer2Addr(), XVMix_GetLayerChromaBufferAddr(), XVMix_GetLayerColorFormat(), XVMix_GetLayerScaleFactor(), XVMix_GetLayerWindow(), XVMix_LayerDisable(), XVMix_LayerEnable(), XVMix_MoveLayerWindow(), XVMix_SetLayerAlpha(), XVMix_SetLayerBufferAddr(), XVMix_SetLayerChromaBuffer2Addr(), XVMix_SetLayerChromaBufferAddr(), XVMix_SetLayerScaleFactor(), and XVMix_SetLayerWindow().

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

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

Parameters

  InstancePtr | is a pointer to the core instance.
  LayerId | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the core instance.
  LayerId | is 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

  InstancePtr | is 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)

This macro returns if Logo layer is enabled.

Parameters

  InstancePtr | is a pointer to the core instance.

Returns
  Enabled(1)/Disabled(0)

Note
  None.

Referenced by XVMix_GetLayerAlpha(), XVMix_GetLayerScaleFactor(), XVMix_GetLayerWindow(), XVMix_GetLogoColorKey(), XVMix_LayerDisable(), XVMix_LayerEnable(), XVMix_LoadLogo(), XVMix_LoadLogoPixelAlpha(), XVMix_MoveLayerWindow(), XVMix_SetLayerAlpha(), XVMix_SetLayerScaleFactor(), XVMix_SetLayerWindow(), and XVMix_SetLogoColorKey().

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

This macro returns if Logo layer alpha feature is enabled.

Parameters

  InstancePtr | is 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

  InstancePtr | is a pointer to the core instance.
  LayerId | is 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

  CallbackRef | is 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

enum XVMix_BackgroundId

This typedef enumerates supported background colors.

enum XVMix_LayerId

This typedef enumerates layer index.

enum XVMix_LayerType

This typedef enumerates layer interface type.

enum XVMix_Scalefactor

This typedef enumerates scale factors supported by mixer core.

## Function Documentation

void XVMix_DbgLayerInfo | ( | XV_Mix_l2 * | InstancePtr,
|  | XVMix_LayerId | LayerId
| ) |  |

This function reports the mixer status of the specified layer.

Parameters

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer to be updated

Returns
  none

Note
  none

References XV_mix_Config::BaseAddress, XV_mix::Config, XV_Mix_l2::Mix, XV_Mix_l2::Stream, XVMix_GetLayerAlpha(), XVMix_GetLayerBufferAddr(), XVMix_GetLayerChromaBufferAddr(), XVMix_GetLayerColorFormat(), XVMix_GetLayerInterfaceType, XVMix_GetLayerScaleFactor(), XVMix_GetLayerWindow(), XVMix_GetLogoColorKey(), XVMix_IsAlphaEnabled, XVMix_IsLayerEnabled(), XVMix_IsLogoColorKeyEnabled, XVMix_IsLogoPixAlphaEnabled, and XVMix_IsScalingEnabled.

void XVMix_DbgReportStatus | ( | XV_Mix_l2 * | InstancePtr | ) |

This function reports the mixer status.

Parameters

  InstancePtr | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer to be updated

Returns
  Address of buffer in memory

Note
  Applicable only for Layer1-16

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

Referenced by XVMix_DbgLayerInfo().

UINTPTR XVMix_GetLayerChromaBuffer2Addr | ( | XV_Mix_l2 * | InstancePtr,
|  | XVMix_LayerId | LayerId
| ) |  |

This function reads the buffer address of the specified layer for the V plane for 3-planar formats.

Parameters

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer to be updated

Returns
  Address of second buffer in memory

Note
  Applicable only for Layer1-16

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

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 and for the U plane for 3-planar formats.

Parameters

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer to be updated
  cfmt | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer for which window coordinates are to be set
  Win | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  ColorKeyData | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  DeviceId | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to the core instance.
  LayerId | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  Win | is logo window (logo width must be multiple of 4 bytes)
  RBuffer | is the pointer to Red buffer
  GBuffer | is the pointer to Green buffer
  BBuffer | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  Win | is logo window (logo width must be multiple of 4 bytes)
  ABuffer | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer for which window position is to be set
  StartX | is the new X position
  StartY | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  ColorId | is requested background color
  bpc | is 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

  InstancePtr | is a pointer to the mixer core instance.
  CallbackFunc | is the address of the callback function.
  CallbackRef | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer to be updated
  Alpha | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer to be updated
  Addr | is the absolute address of buffer in memory

Returns
  XST_SUCCESS or XST_FAILURE

Note
  Applicable only for Layer1-16

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_SetLayerChromaBuffer2Addr | ( | XV_Mix_l2 * | InstancePtr,
|  | XVMix_LayerId | LayerId,
|  | UINTPTR | Addr
| ) |  |

This function sets the buffer address of the specified layer for the V plane for 3-planar formats.

Parameters

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer to be updated
  Addr | is the absolute address of second buffer in memory

Returns
  XST_SUCCESS or XST_FAILURE

Note
  Applicable only for Layer1-16

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 for the U plane for 3-planar formats.

Parameters

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer to be updated
  Addr | is the absolute address of second buffer in memory

Returns
  XST_SUCCESS or XST_FAILURE

Note
  Applicable only for Layer1-16

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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer to be updated
  Scale | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  LayerId | is the layer for which window coordinates are to be set
  Win | is the window coordinates in pixels
  StrideInBytes | is 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

  InstancePtr | is a pointer to core instance to be worked upon
  ColorKeyData | is 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

  InstancePtr | is a pointer to the core instance to be worked on.
  StrmIn | is 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

  InstancePtr | is 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

  InstancePtr | is a pointer to core instance to be worked upon

Returns
  none

References XV_Mix_l2::Mix.