v_frmbuf_rd
Xilinx SDK Drivers API Documentation
V_frmbuf_rd

Data Structures

struct  XV_FrmbufRd_l2
 Frame Buffer Read driver Layer 2 data. More...
 

Macros

#define XVFrmbufRd_IsRGBX8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.RGBX8En)
 This macro returns if Video Format RGBX8 is available. More...
 
#define XVFrmbufRd_IsYUVX8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.YUVX8En)
 This macro returns if Video Format YUVX8 is available. More...
 
#define XVFrmbufRd_IsYUYV8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.YUYV8En)
 This macro returns if Video Format YUYV8 is available. More...
 
#define XVFrmbufRd_IsRGBA8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.RGBA8En)
 This macro returns if Video Format RGBA8 is available. More...
 
#define XVFrmbufRd_IsYUVA8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.YUVA8En)
 This macro returns if Video Format YUVA8 is available. More...
 
#define XVFrmbufRd_IsRGBX10Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.RGBX10En)
 This macro returns if Video Format RGBX10 is available. More...
 
#define XVFrmbufRd_IsYUVX10Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.YUVX10En)
 This macro returns if Video Format YUVX10 is available. More...
 
#define XVFrmbufRd_IsY_UV8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.Y_UV8En)
 This macro returns if Video Format Y_UV8 is available. More...
 
#define XVFrmbufRd_IsY_UV8_420Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.Y_UV8_420En)
 This macro returns if Video Format Y_UV8_420 is available. More...
 
#define XVFrmbufRd_IsRGB8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.RGB8En)
 This macro returns if Video Format RGB8 is available. More...
 
#define XVFrmbufRd_IsYUV8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.YUV8En)
 This macro returns if Video Format YUV8 is available. More...
 
#define XVFrmbufRd_IsY_UV10Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.Y_UV10En)
 This macro returns if Video Format Y_UV10 is available. More...
 
#define XVFrmbufRd_IsY_UV10_420Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.Y_UV10_420En)
 This macro returns if Video Format Y_UV10_420 is available. More...
 
#define XVFrmbufRd_IsY8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.Y8En)
 This macro returns if Video Format Y8 is available. More...
 
#define XVFrmbufRd_IsY10Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.Y10En)
 This macro returns if Video Format Y10 is available. More...
 
#define XVFrmbufRd_IsBGRA8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.BGRA8En)
 This macro returns if Video Format BGRA8 is available. More...
 
#define XVFrmbufRd_IsBGRX8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.BGRX8En)
 This macro returns if Video Format BGRX8 is available. More...
 
#define XVFrmbufRd_IsUYVY8Enabled(InstancePtr)   ((InstancePtr)->FrmbufRd.Config.UYVY8En)
 This macro returns if Video Format UYVY8 is available. More...
 

Typedefs

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

Functions

XVidC_ColorFormat RdMemory2Live (XVidC_ColorFormat MemFmt)
 This function maps the memory video formats to the live/stream video formats. More...
 
int XVFrmbufRd_Initialize (XV_FrmbufRd_l2 *InstancePtr, u16 DeviceId)
 This function initializes the core instance. More...
 
void XVFrmbufRd_InterruptEnable (XV_FrmbufRd_l2 *InstancePtr)
 This function enables interrupts in the core. More...
 
void XVFrmbufRd_InterruptDisable (XV_FrmbufRd_l2 *InstancePtr)
 This function disables interrupts in the core. More...
 
void XVFrmbufRd_Start (XV_FrmbufRd_l2 *InstancePtr)
 This function starts the core instance. More...
 
int XVFrmbufRd_Stop (XV_FrmbufRd_l2 *InstancePtr)
 This function stops the core instance. More...
 
int XVFrmbufRd_SetMemFormat (XV_FrmbufRd_l2 *InstancePtr, u32 StrideInBytes, XVidC_ColorFormat MemFmt, const XVidC_VideoStream *StrmOut)
 This function configures the frame buffer read memory input. More...
 
XVidC_VideoStream * XVFrmbufRd_GetVideoStream (XV_FrmbufRd_l2 *InstancePtr)
 This function reads the pointer to the output stream configuration. More...
 
int XVFrmbufRd_SetBufferAddr (XV_FrmbufRd_l2 *InstancePtr, UINTPTR Addr)
 This function sets the buffer address. More...
 
UINTPTR XVFrmbufRd_GetBufferAddr (XV_FrmbufRd_l2 *InstancePtr)
 This function reads the buffer address. More...
 
int XVFrmbufRd_SetChromaBufferAddr (XV_FrmbufRd_l2 *InstancePtr, UINTPTR Addr)
 This function sets the buffer address for the UV plane for semi-planar formats. More...
 
UINTPTR XVFrmbufRd_GetChromaBufferAddr (XV_FrmbufRd_l2 *InstancePtr)
 This function reads the buffer address for the UV plane for semi-planar formats. More...
 
void XVFrmbufRd_DbgReportStatus (XV_FrmbufRd_l2 *InstancePtr)
 This function reports the frame buffer read status. More...
 
void XVFrmbufRd_InterruptHandler (void *InstancePtr)
 This function is the interrupt handler for the frame buffer read core driver. More...
 
int XVFrmbufRd_SetCallback (XV_FrmbufRd_l2 *InstancePtr, void *CallbackFunc, void *CallbackRef)
 This function installs an asynchronous callback function for Frame Buffer Read interrupt. More...
 

Macro Definition Documentation

◆ XVFrmbufRd_IsBGRA8Enabled

#define XVFrmbufRd_IsBGRA8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.BGRA8En)

#include <xv_frmbufrd_l2.h>

This macro returns if Video Format BGRA8 is available.

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

◆ XVFrmbufRd_IsBGRX8Enabled

#define XVFrmbufRd_IsBGRX8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.BGRX8En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsRGB8Enabled

#define XVFrmbufRd_IsRGB8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.RGB8En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsRGBA8Enabled

#define XVFrmbufRd_IsRGBA8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.RGBA8En)

#include <xv_frmbufrd_l2.h>

This macro returns if Video Format RGBA8 is available.

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

◆ XVFrmbufRd_IsRGBX10Enabled

#define XVFrmbufRd_IsRGBX10Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.RGBX10En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsRGBX8Enabled

#define XVFrmbufRd_IsRGBX8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.RGBX8En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsUYVY8Enabled

#define XVFrmbufRd_IsUYVY8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.UYVY8En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsY10Enabled

#define XVFrmbufRd_IsY10Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.Y10En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsY8Enabled

#define XVFrmbufRd_IsY8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.Y8En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsY_UV10_420Enabled

#define XVFrmbufRd_IsY_UV10_420Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.Y_UV10_420En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsY_UV10Enabled

#define XVFrmbufRd_IsY_UV10Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.Y_UV10En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsY_UV8_420Enabled

#define XVFrmbufRd_IsY_UV8_420Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.Y_UV8_420En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsY_UV8Enabled

#define XVFrmbufRd_IsY_UV8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.Y_UV8En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsYUV8Enabled

#define XVFrmbufRd_IsYUV8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.YUV8En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsYUVA8Enabled

#define XVFrmbufRd_IsYUVA8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.YUVA8En)

#include <xv_frmbufrd_l2.h>

This macro returns if Video Format YUVA8 is available.

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

◆ XVFrmbufRd_IsYUVX10Enabled

#define XVFrmbufRd_IsYUVX10Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.YUVX10En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsYUVX8Enabled

#define XVFrmbufRd_IsYUVX8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.YUVX8En)

#include <xv_frmbufrd_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.

◆ XVFrmbufRd_IsYUYV8Enabled

#define XVFrmbufRd_IsYUYV8Enabled (   InstancePtr)    ((InstancePtr)->FrmbufRd.Config.YUYV8En)

#include <xv_frmbufrd_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

◆ XVFrmbufRd_Callback

typedef void(* XVFrmbufRd_Callback) (void *CallbackRef)

#include <xv_frmbufrd_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

◆ RdMemory2Live()

XVidC_ColorFormat RdMemory2Live ( XVidC_ColorFormat  MemFmt)

#include <xv_frmbufrd_l2.c>

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

Parameters
MemFmtis the video format read from memory
Returns
Live/Stream Video Format associated with that memory format

Referenced by XVFrmbufRd_SetMemFormat().

◆ XVFrmbufRd_DbgReportStatus()

◆ XVFrmbufRd_GetBufferAddr()

UINTPTR XVFrmbufRd_GetBufferAddr ( XV_FrmbufRd_l2 InstancePtr)

#include <xv_frmbufrd_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_FrmbufRd_l2::FrmbufRd.

◆ XVFrmbufRd_GetChromaBufferAddr()

UINTPTR XVFrmbufRd_GetChromaBufferAddr ( XV_FrmbufRd_l2 InstancePtr)

#include <xv_frmbufrd_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_FrmbufRd_l2::FrmbufRd.

◆ XVFrmbufRd_GetVideoStream()

XVidC_VideoStream * XVFrmbufRd_GetVideoStream ( XV_FrmbufRd_l2 InstancePtr)

#include <xv_frmbufrd_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_FrmbufRd_l2::Stream.

◆ XVFrmbufRd_Initialize()

int XVFrmbufRd_Initialize ( XV_FrmbufRd_l2 InstancePtr,
u16  DeviceId 
)

#include <xv_frmbufrd_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_FrmbufRd_l2::FrmbufRd.

◆ XVFrmbufRd_InterruptDisable()

void XVFrmbufRd_InterruptDisable ( XV_FrmbufRd_l2 InstancePtr)

#include <xv_frmbufrd_l2.c>

This function disables interrupts in the core.

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

References XV_FrmbufRd_l2::FrmbufRd.

◆ XVFrmbufRd_InterruptEnable()

void XVFrmbufRd_InterruptEnable ( XV_FrmbufRd_l2 InstancePtr)

#include <xv_frmbufrd_l2.c>

This function enables interrupts in the core.

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

References XV_FrmbufRd_l2::FrmbufRd.

◆ XVFrmbufRd_InterruptHandler()

void XVFrmbufRd_InterruptHandler ( void *  InstancePtr)

#include <xv_frmbufrd_l2.h>

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

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

References XV_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd::IsReady.

◆ XVFrmbufRd_SetBufferAddr()

int XVFrmbufRd_SetBufferAddr ( XV_FrmbufRd_l2 InstancePtr,
UINTPTR  Addr 
)

#include <xv_frmbufrd_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_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_Config::PixPerClk.

◆ XVFrmbufRd_SetCallback()

int XVFrmbufRd_SetCallback ( XV_FrmbufRd_l2 InstancePtr,
void *  CallbackFunc,
void *  CallbackRef 
)

#include <xv_frmbufrd_l2.h>

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

Parameters
InstancePtris a pointer to the frame buffer read 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_FrmbufRd_l2::CallbackRef, and XV_FrmbufRd_l2::FrameDoneCallback.

◆ XVFrmbufRd_SetChromaBufferAddr()

int XVFrmbufRd_SetChromaBufferAddr ( XV_FrmbufRd_l2 InstancePtr,
UINTPTR  Addr 
)

#include <xv_frmbufrd_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_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_Config::PixPerClk.

◆ XVFrmbufRd_SetMemFormat()

int XVFrmbufRd_SetMemFormat ( XV_FrmbufRd_l2 InstancePtr,
u32  StrideInBytes,
XVidC_ColorFormat  MemFmt,
const XVidC_VideoStream *  StrmOut 
)

#include <xv_frmbufrd_l2.c>

This function configures the frame buffer read memory input.

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

References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::PixPerClk, RdMemory2Live(), and XV_FrmbufRd_l2::Stream.

◆ XVFrmbufRd_Start()

void XVFrmbufRd_Start ( XV_FrmbufRd_l2 InstancePtr)

#include <xv_frmbufrd_l2.c>

This function starts the core instance.

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

References XV_FrmbufRd_l2::FrmbufRd.

◆ XVFrmbufRd_Stop()

int XVFrmbufRd_Stop ( XV_FrmbufRd_l2 InstancePtr)

#include <xv_frmbufrd_l2.c>

This function stops the core instance.

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

References XV_FrmbufRd_l2::FrmbufRd.