v_frmbuf_wr
Vitis Drivers API Documentation
Overview

Enumerations

enum  XVFrmbufWr_HandlerType { XVFRMBUFWR_HANDLER_DONE = 1, XVFRMBUFWR_HANDLER_READY }
 These constants specify different types of handler and used to differentiate interrupt requests from peripheral. 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, u32 IrqMask)
 This function enables interrupts in the core. More...
 
void XVFrmbufWr_InterruptDisable (XV_FrmbufWr_l2 *InstancePtr, u32 IrqMask)
 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_WaitForIdle (XV_FrmbufWr_l2 *InstancePtr)
 This function Waits for the core to reach idle state. 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 or Only U Plane for 3 planar formats. More...
 
UINTPTR XVFrmbufWr_GetChromaBufferAddr (XV_FrmbufWr_l2 *InstancePtr)
 This function reads the buffer address for the UV plane for semi-planar formats or Only U plane for 3 planar formats. More...
 
int XVFrmbufWr_SetVChromaBufferAddr (XV_FrmbufWr_l2 *InstancePtr, UINTPTR Addr)
 This function sets the buffer address for the V plane for 3 planar formats. More...
 
UINTPTR XVFrmbufWr_GetVChromaBufferAddr (XV_FrmbufWr_l2 *InstancePtr)
 This function reads the buffer address for the V plane for 3 planar formats. More...
 
u32 XVFrmbufWr_GetFieldID (XV_FrmbufWr_l2 *InstancePtr)
 This function reads the field ID. More...
 
void XVFrmbufWr_DbgReportStatus (XV_FrmbufWr_l2 *InstancePtr)
 This function reports the frame buffer write status. More...
 
int XVFrmbufWr_SetCallback (XV_FrmbufWr_l2 *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)
 This function installs an asynchronous callback function for the given HandlerType: More...
 
void XVFrmbufWr_InterruptHandler (void *InstancePtr)
 This function is the interrupt handler for the frame buffer write core driver. More...
 

Enumeration Type Documentation

These constants specify different types of handler and used to differentiate interrupt requests from peripheral.

Enumerator
XVFRMBUFWR_HANDLER_DONE 

Handler for ap_done.

XVFRMBUFWR_HANDLER_READY 

Handler for ap_ready.

Function Documentation

XVidC_ColorFormat WrMemory2Live ( XVidC_ColorFormat  MemFmt)

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().

UINTPTR XVFrmbufWr_GetBufferAddr ( XV_FrmbufWr_l2 InstancePtr)

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.

UINTPTR XVFrmbufWr_GetChromaBufferAddr ( XV_FrmbufWr_l2 InstancePtr)

This function reads the buffer address for the UV plane for semi-planar formats or Only U plane for 3 planar formats.

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

References XV_FrmbufWr_l2::FrmbufWr.

u32 XVFrmbufWr_GetFieldID ( XV_FrmbufWr_l2 InstancePtr)

This function reads the field ID.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
Field ID

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

UINTPTR XVFrmbufWr_GetVChromaBufferAddr ( XV_FrmbufWr_l2 InstancePtr)

This function reads the buffer address for the V plane for 3 planar formats.

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

References XV_FrmbufWr_l2::FrmbufWr.

XVidC_VideoStream* XVFrmbufWr_GetVideoStream ( XV_FrmbufWr_l2 InstancePtr)

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.

int XVFrmbufWr_Initialize ( XV_FrmbufWr_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_FrmbufWr_l2::FrmbufWr.

void XVFrmbufWr_InterruptDisable ( XV_FrmbufWr_l2 InstancePtr,
u32  IrqMask 
)

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.

void XVFrmbufWr_InterruptEnable ( XV_FrmbufWr_l2 InstancePtr,
u32  IrqMask 
)

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.

void XVFrmbufWr_InterruptHandler ( void *  InstancePtr)

This function is the interrupt handler for the frame buffer write 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::CallbackDoneRef, XV_FrmbufWr_l2::CallbackReadyRef, XV_FrmbufWr_l2::FrameDoneCallback, XV_FrmbufWr_l2::FrameReadyCallback, XV_FrmbufWr_l2::FrmbufWr, and XV_frmbufwr::IsReady.

int XVFrmbufWr_SetBufferAddr ( XV_FrmbufWr_l2 InstancePtr,
UINTPTR  Addr 
)

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.

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

This function installs an asynchronous callback function for the given HandlerType:

HandlerType                     Callback Function Type


(XVFRMBUFWR_HANDLER_DONE) DoneCallback (XVFRMBUFWR_HANDLER_READY) ReadyCallback

Parameters
InstancePtris a pointer to the Frame Buffer Write 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.
  • XST_INVALID_PARAM when HandlerType is invalid.
Note
Invoking this function for a handler that already has been installed replaces it with the new handler.

References XV_FrmbufWr_l2::CallbackDoneRef, XV_FrmbufWr_l2::CallbackReadyRef, XV_FrmbufWr_l2::FrameDoneCallback, XV_FrmbufWr_l2::FrameReadyCallback, XVFRMBUFWR_HANDLER_DONE, and XVFRMBUFWR_HANDLER_READY.

int XVFrmbufWr_SetChromaBufferAddr ( XV_FrmbufWr_l2 InstancePtr,
UINTPTR  Addr 
)

This function sets the buffer address for the UV plane for semi-planar formats or Only U Plane for 3 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.

int XVFrmbufWr_SetVChromaBufferAddr ( XV_FrmbufWr_l2 InstancePtr,
UINTPTR  Addr 
)

This function sets the buffer address for the V plane for 3 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.

void XVFrmbufWr_Start ( XV_FrmbufWr_l2 InstancePtr)

This function starts the core instance.

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

References XV_FrmbufWr_l2::FrmbufWr.

int XVFrmbufWr_Stop ( XV_FrmbufWr_l2 InstancePtr)

This function stops the core instance.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
XST_SUCCESS if the core is stop state XST_FAILURE if the core is not in stop state

References XV_FrmbufWr_l2::FrmbufWr.

int XVFrmbufWr_WaitForIdle ( XV_FrmbufWr_l2 InstancePtr)

This function Waits for the core to reach idle state.

Parameters
InstancePtris a pointer to core instance to be worked upon
Returns
XST_SUCCESS if the core is in idle state XST_FAILURE if the core is not in idle state

References XV_FrmbufWr_l2::FrmbufWr.