v_frmbuf_wr
Xilinx SDK Drivers API Documentation
V_frmbuf_wr

Data Structures

struct  XV_FrmbufWr_l2
 Frame Buffer Write driver Layer 2 data. More...
 

Macros

#define XVFrmbufWr_IsRGBX8Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.RGBX8En)
 This macro returns if Video Format RGBX8 is available. More...
 
#define XVFrmbufWr_IsYUVX8Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.YUVX8En)
 This macro returns if Video Format YUVX8 is available. More...
 
#define XVFrmbufWr_IsYUYV8Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.YUYV8En)
 This macro returns if Video Format YUYV8 is available. More...
 
#define XVFrmbufWr_IsRGBX10Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.RGBX10En)
 This macro returns if Video Format RGBX10 is available. More...
 
#define XVFrmbufWr_IsYUVX10Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.YUVX10En)
 This macro returns if Video Format YUVX10 is available. More...
 
#define XVFrmbufWr_IsY_UV8Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.Y_UV8En)
 This macro returns if Video Format Y_UV8 is available. More...
 
#define XVFrmbufWr_IsY_UV8_420Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.Y_UV8_420En)
 This macro returns if Video Format Y_UV8_420 is available. More...
 
#define XVFrmbufWr_IsRGB8Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.RGB8En)
 This macro returns if Video Format RGB8 is available. More...
 
#define XVFrmbufWr_IsYUV8Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.YUV8En)
 This macro returns if Video Format YUV8 is available. More...
 
#define XVFrmbufWr_IsY_UV10Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.Y_UV10En)
 This macro returns if Video Format Y_UV10 is available. More...
 
#define XVFrmbufWr_IsY_UV10_420Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.Y_UV10_420En)
 This macro returns if Video Format Y_UV10_420 is available. More...
 
#define XVFrmbufWr_IsY8Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.Y8En)
 This macro returns if Video Format Y8 is available. More...
 
#define XVFrmbufWr_IsY10Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.Y10En)
 This macro returns if Video Format Y10 is available. More...
 
#define XVFrmbufWr_IsBGRX8Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.BGRX8En)
 This macro returns if Video Format BGRX8 is available. More...
 
#define XVFrmbufWr_IsUYVY8Enabled(InstancePtr)   ((InstancePtr)->FrmbufWr.Config.UYVY8En)
 This macro returns if Video Format UYVY8 is available. More...
 

Typedefs

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

Functions

XVidC_ColorFormat WrMemory2Live (XVidC_ColorFormat MemFmt)
 This function maps the memory video formats to the live/stream video formats. More...
 
int XVFrmbufWr_Initialize (XV_FrmbufWr_l2 *InstancePtr, u16 DeviceId)
 This function initializes the core instance. More...
 
void XVFrmbufWr_InterruptEnable (XV_FrmbufWr_l2 *InstancePtr)
 This function enables interrupts in the core. More...
 
void XVFrmbufWr_InterruptDisable (XV_FrmbufWr_l2 *InstancePtr)
 This function disables interrupts in the core. More...
 
void XVFrmbufWr_Start (XV_FrmbufWr_l2 *InstancePtr)
 This function starts the core instance. More...
 
int XVFrmbufWr_Stop (XV_FrmbufWr_l2 *InstancePtr)
 This function stops the core instance. More...
 
int XVFrmbufWr_SetMemFormat (XV_FrmbufWr_l2 *InstancePtr, u32 StrideInBytes, XVidC_ColorFormat MemFmt, const XVidC_VideoStream *StrmIn)
 This function configures the frame buffer write memory output. More...
 
XVidC_VideoStream * XVFrmbufWr_GetVideoStream (XV_FrmbufWr_l2 *InstancePtr)
 This function reads the pointer to the output stream configuration. More...
 
int XVFrmbufWr_SetBufferAddr (XV_FrmbufWr_l2 *InstancePtr, UINTPTR Addr)
 This function sets the buffer address. More...
 
UINTPTR XVFrmbufWr_GetBufferAddr (XV_FrmbufWr_l2 *InstancePtr)
 This function reads the buffer address. More...
 
int XVFrmbufWr_SetChromaBufferAddr (XV_FrmbufWr_l2 *InstancePtr, UINTPTR Addr)
 This function sets the buffer address for the UV plane for semi-planar formats. More...
 
UINTPTR XVFrmbufWr_GetChromaBufferAddr (XV_FrmbufWr_l2 *InstancePtr)
 This function reads the buffer address for the UV plane for semi-planar formats. More...
 
void XVFrmbufWr_DbgReportStatus (XV_FrmbufWr_l2 *InstancePtr)
 This function reports the frame buffer write status. More...
 
void XVFrmbufWr_InterruptHandler (void *InstancePtr)
 This function is the interrupt handler for the frame buffer wrote core driver. More...
 
int XVFrmbufWr_SetCallback (XV_FrmbufWr_l2 *InstancePtr, void *CallbackFunc, void *CallbackRef)
 This function installs an asynchronous callback function for Frame Buffer Write interrupt. More...
 

Macro Definition Documentation

◆ XVFrmbufWr_IsBGRX8Enabled

#define XVFrmbufWr_IsBGRX8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.BGRX8En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format BGRX8 is available.

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

◆ XVFrmbufWr_IsRGB8Enabled

#define XVFrmbufWr_IsRGB8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.RGB8En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format RGB8 is available.

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

◆ XVFrmbufWr_IsRGBX10Enabled

#define XVFrmbufWr_IsRGBX10Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.RGBX10En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format RGBX10 is available.

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

◆ XVFrmbufWr_IsRGBX8Enabled

#define XVFrmbufWr_IsRGBX8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.RGBX8En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format RGBX8 is available.

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

◆ XVFrmbufWr_IsUYVY8Enabled

#define XVFrmbufWr_IsUYVY8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.UYVY8En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format UYVY8 is available.

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

◆ XVFrmbufWr_IsY10Enabled

#define XVFrmbufWr_IsY10Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.Y10En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format Y10 is available.

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

◆ XVFrmbufWr_IsY8Enabled

#define XVFrmbufWr_IsY8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.Y8En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format Y8 is available.

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

◆ XVFrmbufWr_IsY_UV10_420Enabled

#define XVFrmbufWr_IsY_UV10_420Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.Y_UV10_420En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format Y_UV10_420 is available.

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

◆ XVFrmbufWr_IsY_UV10Enabled

#define XVFrmbufWr_IsY_UV10Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.Y_UV10En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format Y_UV10 is available.

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

◆ XVFrmbufWr_IsY_UV8_420Enabled

#define XVFrmbufWr_IsY_UV8_420Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.Y_UV8_420En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format Y_UV8_420 is available.

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

◆ XVFrmbufWr_IsY_UV8Enabled

#define XVFrmbufWr_IsY_UV8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.Y_UV8En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format Y_UV8 is available.

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

◆ XVFrmbufWr_IsYUV8Enabled

#define XVFrmbufWr_IsYUV8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.YUV8En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format YUV8 is available.

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

◆ XVFrmbufWr_IsYUVX10Enabled

#define XVFrmbufWr_IsYUVX10Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.YUVX10En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format YUVX10 is available.

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

◆ XVFrmbufWr_IsYUVX8Enabled

#define XVFrmbufWr_IsYUVX8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.YUVX8En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format YUVX8 is available.

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

◆ XVFrmbufWr_IsYUYV8Enabled

#define XVFrmbufWr_IsYUYV8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufWr.Config.YUYV8En)

#include <xv_frmbufwr_l2.h>

This macro returns if Video Format YUYV8 is available.

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

Typedef Documentation

◆ XVFrmbufWr_Callback

typedef void(* XVFrmbufWr_Callback) (void *CallbackRef)

#include <xv_frmbufwr_l2.h>

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.

Function Documentation

◆ WrMemory2Live()

XVidC_ColorFormat WrMemory2Live ( XVidC_ColorFormat  MemFmt)

#include <xv_frmbufwr_l2.c>

This function maps the memory video formats to the live/stream video formats.

Parameters
MemFmtis the video format written to memory
Returns
Live/Stream Video Format associated with that memory format

Referenced by XVFrmbufWr_SetMemFormat().

◆ XVFrmbufWr_DbgReportStatus()

◆ XVFrmbufWr_GetBufferAddr()

UINTPTR XVFrmbufWr_GetBufferAddr ( XV_FrmbufWr_l2 InstancePtr)

#include <xv_frmbufwr_l2.c>

This function reads the buffer address.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
Address of buffer in memory

References XV_FrmbufWr_l2::FrmbufWr.

◆ XVFrmbufWr_GetChromaBufferAddr()

UINTPTR XVFrmbufWr_GetChromaBufferAddr ( XV_FrmbufWr_l2 InstancePtr)

#include <xv_frmbufwr_l2.c>

This function reads the buffer address for the UV plane for semi-planar formats.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
Address of buffer in memory

References XV_FrmbufWr_l2::FrmbufWr.

◆ XVFrmbufWr_GetVideoStream()

XVidC_VideoStream * XVFrmbufWr_GetVideoStream ( XV_FrmbufWr_l2 InstancePtr)

#include <xv_frmbufwr_l2.c>

This function reads the pointer to the output stream configuration.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
Pointer to output stream configuration

References XV_FrmbufWr_l2::Stream.

◆ XVFrmbufWr_Initialize()

int XVFrmbufWr_Initialize ( XV_FrmbufWr_l2 InstancePtr,
u16  DeviceId 
)

#include <xv_frmbufwr_l2.c>

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_FrmbufWr_l2::FrmbufWr.

◆ XVFrmbufWr_InterruptDisable()

void XVFrmbufWr_InterruptDisable ( XV_FrmbufWr_l2 InstancePtr)

#include <xv_frmbufwr_l2.c>

This function disables interrupts in the core.

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

References XV_FrmbufWr_l2::FrmbufWr.

◆ XVFrmbufWr_InterruptEnable()

void XVFrmbufWr_InterruptEnable ( XV_FrmbufWr_l2 InstancePtr)

#include <xv_frmbufwr_l2.c>

This function enables interrupts in the core.

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

References XV_FrmbufWr_l2::FrmbufWr.

◆ XVFrmbufWr_InterruptHandler()

void XVFrmbufWr_InterruptHandler ( void *  InstancePtr)

#include <xv_frmbufwr_l2.h>

This function is the interrupt handler for the frame buffer wrote 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 XVFrmbufWr_SetCallback() during initialization phase.

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

References XV_FrmbufWr_l2::FrmbufWr, and XV_frmbufwr::IsReady.

◆ XVFrmbufWr_SetBufferAddr()

int XVFrmbufWr_SetBufferAddr ( XV_FrmbufWr_l2 InstancePtr,
UINTPTR  Addr 
)

#include <xv_frmbufwr_l2.c>

This function sets the buffer address.

Parameters
InstancePtris a pointer to core instance to be worked upon
Addris the absolute address of buffer in memory
Returns
XST_SUCCESS or XST_FAILURE

References XV_frmbufwr::Config, XV_FrmbufWr_l2::FrmbufWr, and XV_frmbufwr_Config::PixPerClk.

◆ XVFrmbufWr_SetCallback()

int XVFrmbufWr_SetCallback ( XV_FrmbufWr_l2 InstancePtr,
void *  CallbackFunc,
void *  CallbackRef 
)

#include <xv_frmbufwr_l2.h>

This function installs an asynchronous callback function for Frame Buffer Write interrupt.

Parameters
InstancePtris a pointer to the frame buffer wrote 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_FrmbufWr_l2::CallbackRef, and XV_FrmbufWr_l2::FrameDoneCallback.

◆ XVFrmbufWr_SetChromaBufferAddr()

int XVFrmbufWr_SetChromaBufferAddr ( XV_FrmbufWr_l2 InstancePtr,
UINTPTR  Addr 
)

#include <xv_frmbufwr_l2.c>

This function sets the buffer address for the UV plane for semi-planar formats.

Parameters
InstancePtris a pointer to core instance to be worked upon
Addris the absolute address of buffer in memory
Returns
XST_SUCCESS or XST_FAILURE

References XV_frmbufwr::Config, XV_FrmbufWr_l2::FrmbufWr, and XV_frmbufwr_Config::PixPerClk.

◆ XVFrmbufWr_SetMemFormat()

int XVFrmbufWr_SetMemFormat ( XV_FrmbufWr_l2 InstancePtr,
u32  StrideInBytes,
XVidC_ColorFormat  MemFmt,
const XVidC_VideoStream *  StrmIn 
)

#include <xv_frmbufwr_l2.c>

This function configures the frame buffer write memory output.

Parameters
InstancePtris a pointer to the core instance to be worked on.
StrideInBytesis the memory stride in bytes
MemFormatis the video format written to memory
StrmInis the pointer to output stream configuration
Returns
none

References XV_frmbufwr::Config, XV_FrmbufWr_l2::FrmbufWr, XV_frmbufwr_Config::PixPerClk, XV_FrmbufWr_l2::Stream, and WrMemory2Live().

◆ XVFrmbufWr_Start()

void XVFrmbufWr_Start ( XV_FrmbufWr_l2 InstancePtr)

#include <xv_frmbufwr_l2.c>

This function starts the core instance.

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

References XV_FrmbufWr_l2::FrmbufWr.

◆ XVFrmbufWr_Stop()

int XVFrmbufWr_Stop ( XV_FrmbufWr_l2 InstancePtr)

#include <xv_frmbufwr_l2.c>

This function stops the core instance.

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

References XV_FrmbufWr_l2::FrmbufWr.