![]() |
v_frmbuf_rd
Xilinx SDK Drivers API Documentation
|
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... | |
#define XVFrmbufRd_IsBGRA8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.BGRA8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format BGRA8 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsBGRX8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.BGRX8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format BGRX8 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsRGB8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.RGB8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format RGB8 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsRGBA8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.RGBA8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format RGBA8 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsRGBX10Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.RGBX10En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format RGBX10 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsRGBX8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.RGBX8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format RGBX8 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsUYVY8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.UYVY8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format UYVY8 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsY10Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.Y10En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format Y10 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsY8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.Y8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format Y8 is available.
InstancePtr | is a pointer to the core instance. |
#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.
InstancePtr | is a pointer to the core instance. |
#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.
InstancePtr | is a pointer to the core instance. |
#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.
InstancePtr | is a pointer to the core instance. |
#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.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsYUV8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.YUV8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format YUV8 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsYUVA8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.YUVA8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format YUVA8 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsYUVX10Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.YUVX10En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format YUVX10 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsYUVX8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.YUVX8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format YUVX8 is available.
InstancePtr | is a pointer to the core instance. |
#define XVFrmbufRd_IsYUYV8Enabled | ( | InstancePtr | ) | ((InstancePtr)->FrmbufRd.Config.YUYV8En) |
#include <xv_frmbufrd_l2.h>
This macro returns if Video Format YUYV8 is available.
InstancePtr | is a pointer to the core instance. |
typedef void(* XVFrmbufRd_Callback) (void *CallbackRef) |
#include <xv_frmbufrd_l2.h>
Callback type for interrupt.
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. |
XVidC_ColorFormat RdMemory2Live | ( | XVidC_ColorFormat | MemFmt | ) |
#include <xv_frmbufrd_l2.c>
This function maps the memory video formats to the live/stream video formats.
MemFmt | is the video format read from memory |
Referenced by XVFrmbufRd_SetMemFormat().
void XVFrmbufRd_DbgReportStatus | ( | XV_FrmbufRd_l2 * | InstancePtr | ) |
#include <xv_frmbufrd_l2.c>
This function reports the frame buffer read status.
InstancePtr | is a pointer to core instance to be worked upon |
References XV_frmbufrd_Config::AXIMMDataWidth, XV_frmbufrd_Config::BaseAddress, XV_frmbufrd_Config::BGRA8En, XV_frmbufrd_Config::BGRX8En, XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::MaxDataWidth, XV_frmbufrd_Config::PixPerClk, XV_frmbufrd_Config::RGB8En, XV_frmbufrd_Config::RGBA8En, XV_frmbufrd_Config::RGBX10En, XV_frmbufrd_Config::RGBX8En, XV_frmbufrd_Config::UYVY8En, XV_frmbufrd_Config::Y10En, XV_frmbufrd_Config::Y8En, XV_frmbufrd_Config::Y_UV10_420En, XV_frmbufrd_Config::Y_UV10En, XV_frmbufrd_Config::Y_UV8_420En, XV_frmbufrd_Config::Y_UV8En, XV_frmbufrd_Config::YUV8En, XV_frmbufrd_Config::YUVA8En, XV_frmbufrd_Config::YUVX10En, XV_frmbufrd_Config::YUVX8En, and XV_frmbufrd_Config::YUYV8En.
UINTPTR XVFrmbufRd_GetBufferAddr | ( | XV_FrmbufRd_l2 * | InstancePtr | ) |
#include <xv_frmbufrd_l2.c>
This function reads the buffer address.
InstancePtr | is a pointer to core instance to be worked upon |
References XV_FrmbufRd_l2::FrmbufRd.
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.
InstancePtr | is a pointer to core instance to be worked upon |
References XV_FrmbufRd_l2::FrmbufRd.
XVidC_VideoStream * XVFrmbufRd_GetVideoStream | ( | XV_FrmbufRd_l2 * | InstancePtr | ) |
#include <xv_frmbufrd_l2.c>
This function reads the pointer to the output stream configuration.
InstancePtr | is a pointer to core instance to be worked upon |
References XV_FrmbufRd_l2::Stream.
int XVFrmbufRd_Initialize | ( | XV_FrmbufRd_l2 * | InstancePtr, |
u16 | DeviceId | ||
) |
#include <xv_frmbufrd_l2.c>
This function initializes the core instance.
InstancePtr | is a pointer to core instance to be worked upon |
DeviceId | is instance id of the core |
References XV_FrmbufRd_l2::FrmbufRd.
void XVFrmbufRd_InterruptDisable | ( | XV_FrmbufRd_l2 * | InstancePtr | ) |
#include <xv_frmbufrd_l2.c>
This function disables interrupts in the core.
InstancePtr | is a pointer to core instance to be worked upon |
References XV_FrmbufRd_l2::FrmbufRd.
void XVFrmbufRd_InterruptEnable | ( | XV_FrmbufRd_l2 * | InstancePtr | ) |
#include <xv_frmbufrd_l2.c>
This function enables interrupts in the core.
InstancePtr | is a pointer to core instance to be worked upon |
References XV_FrmbufRd_l2::FrmbufRd.
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.
InstancePtr | is a pointer to the core instance that just interrupted. |
References XV_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd::IsReady.
int XVFrmbufRd_SetBufferAddr | ( | XV_FrmbufRd_l2 * | InstancePtr, |
UINTPTR | Addr | ||
) |
#include <xv_frmbufrd_l2.c>
This function sets the buffer address.
InstancePtr | is a pointer to core instance to be worked upon |
Addr | is the absolute address of buffer in memory |
References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_Config::PixPerClk.
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.
InstancePtr | is a pointer to the frame buffer read 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. |
References XV_FrmbufRd_l2::CallbackRef, and XV_FrmbufRd_l2::FrameDoneCallback.
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.
InstancePtr | is a pointer to core instance to be worked upon |
Addr | is the absolute address of buffer in memory |
References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_Config::PixPerClk.
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.
InstancePtr | is a pointer to the core instance to be worked on. |
StrideInBytes | is the memory stride in bytes |
MemFormat | is the video format to be read from memory |
StrmOut | is the pointer to output stream configuration |
References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::PixPerClk, RdMemory2Live(), and XV_FrmbufRd_l2::Stream.
void XVFrmbufRd_Start | ( | XV_FrmbufRd_l2 * | InstancePtr | ) |
#include <xv_frmbufrd_l2.c>
This function starts the core instance.
InstancePtr | is a pointer to core instance to be worked upon |
References XV_FrmbufRd_l2::FrmbufRd.
int XVFrmbufRd_Stop | ( | XV_FrmbufRd_l2 * | InstancePtr | ) |
#include <xv_frmbufrd_l2.c>
This function stops the core instance.
InstancePtr | is a pointer to core instance to be worked upon |
References XV_FrmbufRd_l2::FrmbufRd.