v_frmbuf_rd
Vitis Drivers API Documentation
Overview

Enumerations

enum  XVFrmbufRd_HandlerType { XVFRMBUFRD_HANDLER_DONE = 1, XVFRMBUFRD_HANDLER_READY }
 These constants specify different types of handler and used to differentiate interrupt requests from peripheral. 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)
 Initializes the XV_FrmbufRd_l2 instance. More...
 
void XVFrmbufRd_InterruptEnable (XV_FrmbufRd_l2 *InstancePtr, u32 IrqMask)
 Enables specific interrupts for the Frame Buffer Read core and globally enables interrupts. More...
 
void XVFrmbufRd_InterruptDisable (XV_FrmbufRd_l2 *InstancePtr, u32 IrqMask)
 XVFrmbufRd_InterruptDisable - Disables specific interrupts and enables auto-restart. More...
 
void XVFrmbufRd_Start (XV_FrmbufRd_l2 *InstancePtr)
 This function starts the Frame Buffer Read core. More...
 
int XVFrmbufRd_Stop (XV_FrmbufRd_l2 *InstancePtr)
 XVFrmbufRd_Stop - Stops the Frame Buffer Read core. More...
 
int XVFrmbufRd_WaitForIdle (XV_FrmbufRd_l2 *InstancePtr)
 XVFrmbufRd_WaitForIdle - Waits until the Frame Buffer Read core is idle or a timeout occurs. More...
 
int XVFrmbufRd_SetMemFormat (XV_FrmbufRd_l2 *InstancePtr, u32 StrideInBytes, XVidC_ColorFormat MemFmt, const XVidC_VideoStream *StrmOut)
 XVFrmbufRd_SetMemFormat - Configure the memory format and stream parameters for the frame buffer reader. More...
 
XVidC_VideoStream * XVFrmbufRd_GetVideoStream (XV_FrmbufRd_l2 *InstancePtr)
 Retrieves a pointer to the video stream associated with the given Frame Buffer Read instance. More...
 
int XVFrmbufRd_SetBufferAddr (XV_FrmbufRd_l2 *InstancePtr, UINTPTR Addr)
 XVFrmbufRd_SetBufferAddr - Set the frame buffer address for the Frame Buffer Read core. More...
 
UINTPTR XVFrmbufRd_GetBufferAddr (XV_FrmbufRd_l2 *InstancePtr)
 This function reads the buffer address. More...
 
int XVFrmbufRd_SetVChromaBufferAddr (XV_FrmbufRd_l2 *InstancePtr, UINTPTR Addr)
 This function sets the buffer address for the V plane for 3 planar formats. More...
 
UINTPTR XVFrmbufRd_GetVChromaBufferAddr (XV_FrmbufRd_l2 *InstancePtr)
 This function reads the buffer address for the V plane for 3 planar formats. More...
 
int XVFrmbufRd_SetChromaBufferAddr (XV_FrmbufRd_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 XVFrmbufRd_GetChromaBufferAddr (XV_FrmbufRd_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 XVFrmbufRd_SetFieldID (XV_FrmbufRd_l2 *InstancePtr, u32 FieldID)
 XVFrmbufRd_SetFieldID - Sets the Field ID for the Frame Buffer Read hardware. More...
 
u32 XVFrmbufRd_GetFieldID (XV_FrmbufRd_l2 *InstancePtr)
 XVFrmbufRd_GetFieldID - Retrieves the current Field ID from the Frame Buffer Read hardware. More...
 
int XVFrmbufRd_Set_FidOutMode (XV_FrmbufRd_l2 *InstancePtr, u32 fidmodeval)
 XVFrmbufRd_Set_FidOutMode - Sets the Field ID Output Mode for the Frame Buffer Read core. More...
 
u32 XVFrmbufRd_Get_FidOutMode (XV_FrmbufRd_l2 *InstancePtr)
 Retrieves the Field ID Output Mode (FidOutMode) from the Frame Buffer Read core instance. More...
 
u32 XVFrmbufRd_Get_FidErrorOut (XV_FrmbufRd_l2 *InstancePtr)
 XVFrmbufRd_Get_FidErrorOut - Retrieves the Field ID (FID) error status from the Frame Buffer Read core. More...
 
u32 XVFrmbufRd_Get_FidErrorCount (XV_FrmbufRd_l2 *InstancePtr)
 XVFrmbufRd_Get_FidErrorCount - Retrieves the Field ID (FID) error count from the Frame Buffer Read core. More...
 
u32 XVFrmbufRd_Get_FieldOut (XV_FrmbufRd_l2 *InstancePtr)
 Retrieves the current field output value from the Frame Buffer Read hardware. More...
 
void XVFrmbufRd_DbgReportStatus (XV_FrmbufRd_l2 *InstancePtr)
 XVFrmbufRd_DbgReportStatus - Prints the current status and configuration of the Frame Buffer Read core. More...
 
int XVFrmbufRd_SetCallback (XV_FrmbufRd_l2 *InstancePtr, u32 HandlerType, void *CallbackFunc, void *CallbackRef)
 This function installs an asynchronous callback function for the given HandlerType: More...
 
void XVFrmbufRd_InterruptHandler (void *InstancePtr)
 This function is the interrupt handler for the frame buffer read core driver. More...
 

Enumeration Type Documentation

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

Enumerator
XVFRMBUFRD_HANDLER_DONE 

Handler for ap_done.

XVFRMBUFRD_HANDLER_READY 

Handler for ap_ready.

Function Documentation

XVidC_ColorFormat RdMemory2Live ( XVidC_ColorFormat  MemFmt)

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

void XVFrmbufRd_DbgReportStatus ( XV_FrmbufRd_l2 InstancePtr)

XVFrmbufRd_DbgReportStatus - Prints the current status and configuration of the Frame Buffer Read core.

Parameters
InstancePtrPointer to the XV_FrmbufRd_l2 instance.

This function outputs a detailed debug report of the Frame Buffer Read (FrmbufRd) core's configuration and runtime status to the console using xil_printf. The report includes information such as pixel format support, color depth, AXI-MM data width, enabled formats, control register value, frame dimensions, stride, video format, and buffer addresses.

This function is intended for debugging and diagnostic purposes.

Preconditions:

  • InstancePtr must not be NULL.
Returns
none

References XV_frmbufrd_Config::AXIMMDataWidth, XV_frmbufrd_Config::BaseAddress, XV_frmbufrd_Config::BGR8En, XV_frmbufrd_Config::BGRA8En, XV_frmbufrd_Config::BGRX8En, XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::Interlaced, XV_frmbufrd_Config::IsTileFormat, XV_frmbufrd_Config::MaxDataWidth, XV_frmbufrd_Config::PixPerClk, XV_frmbufrd_Config::RGB16En, XV_frmbufrd_Config::RGB8En, XV_frmbufrd_Config::RGBA8En, XV_frmbufrd_Config::RGBX10En, XV_frmbufrd_Config::RGBX12En, XV_frmbufrd_Config::RGBX8En, XV_frmbufrd_Config::UYVY8En, XV_frmbufrd_Get_HwReg_frm_buffer2_V(), XV_frmbufrd_Get_HwReg_frm_buffer3_V(), XV_frmbufrd_Get_HwReg_frm_buffer_V(), XV_frmbufrd_Get_HwReg_height(), XV_frmbufrd_Get_HwReg_stride(), XV_frmbufrd_Get_HwReg_video_format(), XV_frmbufrd_Get_HwReg_width(), XV_frmbufrd_Config::Y10En, XV_frmbufrd_Config::Y12En, XV_frmbufrd_Config::Y16En, XV_frmbufrd_Config::Y8En, XV_frmbufrd_Config::Y_U_V10En, XV_frmbufrd_Config::Y_U_V12En, XV_frmbufrd_Config::Y_U_V8_420En, XV_frmbufrd_Config::Y_U_V8En, XV_frmbufrd_Config::Y_UV10_420En, XV_frmbufrd_Config::Y_UV10En, XV_frmbufrd_Config::Y_UV12_420En, XV_frmbufrd_Config::Y_UV12En, XV_frmbufrd_Config::Y_UV16_420En, XV_frmbufrd_Config::Y_UV16En, XV_frmbufrd_Config::Y_UV8_420En, XV_frmbufrd_Config::Y_UV8En, XV_frmbufrd_Config::YUV16En, XV_frmbufrd_Config::YUV8En, XV_frmbufrd_Config::YUVA8En, XV_frmbufrd_Config::YUVX10En, XV_frmbufrd_Config::YUVX12En, XV_frmbufrd_Config::YUVX8En, and XV_frmbufrd_Config::YUYV8En.

u32 XVFrmbufRd_Get_FidErrorCount ( XV_FrmbufRd_l2 InstancePtr)

XVFrmbufRd_Get_FidErrorCount - Retrieves the Field ID (FID) error count from the Frame Buffer Read core.

Parameters
InstancePtr,:Pointer to the XV_FrmbufRd_l2 instance.
Returns
The number of FID errors detected by the hardware.
Note
This function asserts that the InstancePtr is not NULL and that the Frame Buffer Read core is configured for interlaced mode.

References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::Interlaced, and XV_frmbufrd_Get_HwReg_fid_error().

u32 XVFrmbufRd_Get_FidErrorOut ( XV_FrmbufRd_l2 InstancePtr)

XVFrmbufRd_Get_FidErrorOut - Retrieves the Field ID (FID) error status from the Frame Buffer Read core.

Parameters
InstancePtr,:Pointer to the XV_FrmbufRd_l2 instance.
Returns
The value of the FID error output register. Non-zero indicates an FID error.
Note
This function asserts that the InstancePtr is not NULL and that the Frame Buffer Read core is configured for interlaced mode.

References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::Interlaced, and XV_frmbufrd_Get_HwReg_fid_error().

u32 XVFrmbufRd_Get_FidOutMode ( XV_FrmbufRd_l2 InstancePtr)

Retrieves the Field ID Output Mode (FidOutMode) from the Frame Buffer Read core instance.

This function reads the current FidOutMode hardware register value from the specified XV_FrmbufRd_l2 instance. It asserts that the instance pointer is not NULL and that the instance is configured for interlaced mode before accessing the register.

Parameters
InstancePtrPointer to the XV_FrmbufRd_l2 instance.
Returns
The value of the FidOutMode hardware register.

References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::Interlaced, and XV_frmbufrd_Get_HwReg_fidOutMode().

u32 XVFrmbufRd_Get_FieldOut ( XV_FrmbufRd_l2 InstancePtr)

Retrieves the current field output value from the Frame Buffer Read hardware.

This function reads the hardware register associated with the field output and returns its value, masked with the appropriate control bits. It asserts that the provided instance pointer is not NULL and that the instance is configured for interlaced mode.

Parameters
InstancePtris a pointer to the XV_FrmbufRd_l2 instance.
Returns
The value of the field output as a 32-bit unsigned integer.

References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::Interlaced, and XV_frmbufrd_Get_HwReg_field_out().

UINTPTR XVFrmbufRd_GetBufferAddr ( XV_FrmbufRd_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_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_Get_HwReg_frm_buffer_V().

UINTPTR XVFrmbufRd_GetChromaBufferAddr ( XV_FrmbufRd_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_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_Get_HwReg_frm_buffer2_V().

u32 XVFrmbufRd_GetFieldID ( XV_FrmbufRd_l2 InstancePtr)

XVFrmbufRd_GetFieldID - Retrieves the current Field ID from the Frame Buffer Read hardware.

Parameters
InstancePtr,:Pointer to the XV_FrmbufRd_l2 instance.
Returns
The current Field ID value as read from the hardware register.
Note
This function asserts that the InstancePtr is not NULL and that the Frame Buffer Read instance is configured for interlaced mode.

References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::Interlaced, and XV_frmbufrd_Get_HwReg_field_id().

UINTPTR XVFrmbufRd_GetVChromaBufferAddr ( XV_FrmbufRd_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_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_Get_HwReg_frm_buffer3_V().

XVidC_VideoStream* XVFrmbufRd_GetVideoStream ( XV_FrmbufRd_l2 InstancePtr)

Retrieves a pointer to the video stream associated with the given Frame Buffer Read instance.

Parameters
InstancePtrPointer to the XV_FrmbufRd_l2 instance.
Returns
Pointer to the XVidC_VideoStream structure associated with the instance.

References XV_FrmbufRd_l2::Stream.

int XVFrmbufRd_Initialize ( XV_FrmbufRd_l2 InstancePtr,
u16  DeviceId 
)

Initializes the XV_FrmbufRd_l2 instance.

This function sets up the XV_FrmbufRd_l2 instance structure, zeroes its memory, and initializes the underlying XV_frmbufrd hardware or driver instance. Depending on the build configuration, it uses either a DeviceId or a BaseAddress to perform the initialization.

Parameters
InstancePtrPointer to the XV_FrmbufRd_l2 instance to be initialized.
DeviceIdDevice ID of the XV_frmbufrd hardware (used if SDT is not defined).
Returns
  • XST_SUCCESS if initialization was successful.
  • Error code otherwise.
Note
  • The function asserts that InstancePtr is not NULL.
  • After successful initialization, the instance is set to its power-on default state.

References XV_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_Initialize().

void XVFrmbufRd_InterruptDisable ( XV_FrmbufRd_l2 InstancePtr,
u32  IrqMask 
)

XVFrmbufRd_InterruptDisable - Disables specific interrupts and enables auto-restart.

This function disables the interrupts specified by the IrqMask for the given Frame Buffer Read (FrmbufRd) instance. It also globally disables interrupts for the instance and sets the auto-restart bit to ensure the hardware continues operation without further software intervention.

Parameters
InstancePtrPointer to the XV_FrmbufRd_l2 instance.
IrqMaskis the interrupt mask the driver interrupt handler passes to the callback function.
Returns
None.
Note
The InstancePtr must not be NULL.

References XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_EnableAutoRestart(), XV_frmbufrd_InterruptDisable(), and XV_frmbufrd_InterruptGlobalDisable().

void XVFrmbufRd_InterruptEnable ( XV_FrmbufRd_l2 InstancePtr,
u32  IrqMask 
)

Enables specific interrupts for the Frame Buffer Read core and globally enables interrupts.

This function enables the interrupts specified by the IrqMask for the Frame Buffer Read instance pointed to by InstancePtr. It also globally enables interrupts for the core and disables the autostart feature to ensure manual control of frame buffer operations.

Parameters
InstancePtrPointer to the XV_FrmbufRd_l2 instance.
IrqMaskis the interrupt mask the driver interrupt handler passes to the callback function.
Returns
None.
Note
The InstancePtr must not be NULL.

References XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_DisableAutoRestart(), XV_frmbufrd_InterruptEnable(), and XV_frmbufrd_InterruptGlobalEnable().

void XVFrmbufRd_InterruptHandler ( void *  InstancePtr)

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::CallbackDoneRef, XV_FrmbufRd_l2::CallbackReadyRef, XV_FrmbufRd_l2::FrameDoneCallback, XV_FrmbufRd_l2::FrameReadyCallback, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd::IsReady, XV_frmbufrd_InterruptClear(), and XV_frmbufrd_InterruptGetStatus().

int XVFrmbufRd_Set_FidOutMode ( XV_FrmbufRd_l2 InstancePtr,
u32  fidmodeval 
)

XVFrmbufRd_Set_FidOutMode - Sets the Field ID Output Mode for the Frame Buffer Read core.

Parameters
InstancePtrPointer to the XV_FrmbufRd_l2 instance.
fidmodevalField ID output mode value (must be 0, 1, or 2).

This function configures the Field ID Output Mode register of the Frame Buffer Read hardware. It asserts that the instance pointer is valid, the fidmodeval is within the allowed range, and that the core is configured for interlaced operation.

Returns
XST_SUCCESS if the operation is successful, otherwise XST_FAILURE.

References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::Interlaced, and XV_frmbufrd_Set_HwReg_fidOutMode().

int XVFrmbufRd_SetBufferAddr ( XV_FrmbufRd_l2 InstancePtr,
UINTPTR  Addr 
)

XVFrmbufRd_SetBufferAddr - Set the frame buffer address for the Frame Buffer Read core.

Parameters
InstancePtr,:Pointer to the XV_FrmbufRd_l2 instance.
Addr,:Physical address of the frame buffer to be set.

This function sets the frame buffer address for the Frame Buffer Read core. It checks if the provided address is aligned to the required AXI memory width, which is calculated as 2 * PixelsPerClock * 4 bytes. If the address is not properly aligned, the function returns an error code indicating misalignment. If the address is valid and aligned, it writes the address to the hardware register.

Returns
XST_SUCCESS if the address is set successfully. XVFRMBUFRD_ERR_MEM_ADDR_MISALIGNED if the address is misaligned. XST_FAILURE for other failures.

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

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

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

HandlerType                     Callback Function Type
-----------------------         --------------------------------------------------
(XVFRMBUFRD_HANDLER_DONE)       DoneCallback
(XVFRMBUFRD_HANDLER_READY)      ReadyCallback
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.
HandlerTypespecifies the type of handler.
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_FrmbufRd_l2::CallbackDoneRef, XV_FrmbufRd_l2::CallbackReadyRef, XV_FrmbufRd_l2::FrameDoneCallback, XV_FrmbufRd_l2::FrameReadyCallback, XVFRMBUFRD_HANDLER_DONE, and XVFRMBUFRD_HANDLER_READY.

Referenced by main().

int XVFrmbufRd_SetChromaBufferAddr ( XV_FrmbufRd_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_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::PixPerClk, and XV_frmbufrd_Set_HwReg_frm_buffer2_V().

int XVFrmbufRd_SetFieldID ( XV_FrmbufRd_l2 InstancePtr,
u32  FieldID 
)

XVFrmbufRd_SetFieldID - Sets the Field ID for the Frame Buffer Read hardware.

Parameters
InstancePtrPointer to the XV_FrmbufRd_l2 instance.
FieldIDField ID value to set (typically 0 or 1 for interlaced operation).

This function writes the specified Field ID value to the hardware register controlling the field selection for interlaced video modes. It asserts that the instance pointer is valid and that the hardware is configured for interlaced mode.

Returns
XST_SUCCESS if the Field ID is set successfully, otherwise XST_FAILURE.

References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::Interlaced, and XV_frmbufrd_Set_HwReg_field_id().

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

XVFrmbufRd_SetMemFormat - Configure the memory format and stream parameters for the frame buffer reader.

Parameters
InstancePtr,:Pointer to the XV_FrmbufRd_l2 instance.
StrideInBytes,:Stride of the frame buffer in bytes. Must be aligned to 2 * PixPerClk * 4 bytes.
MemFmt,:Memory color format (XVidC_ColorFormat) to be used for reading frames.
StrmOut,:Pointer to the output video stream structure (XVidC_VideoStream).

This function validates the provided memory format, stride, and stream parameters, ensuring they are compatible with the hardware and the selected memory format. It checks for alignment, format support, and matching between memory and streaming formats. If all checks pass, it configures the hardware registers for the frame buffer reader with the specified parameters.

Returns
  • XST_SUCCESS if the configuration is successful.
  • XVFRMBUFRD_ERR_FRAME_SIZE_INVALID if the frame size is invalid for the selected format.
  • XVFRMBUFRD_ERR_STRIDE_MISALIGNED if the stride is not properly aligned.
  • XVFRMBUFRD_ERR_VIDEO_FORMAT_MISMATCH if the memory and stream formats do not match.
  • XVFRMBUFRD_ERR_DISABLED_IN_HW if the selected memory format is not supported in hardware.
  • XST_FAILURE for other failures.

References XV_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::PixPerClk, RdMemory2Live(), XV_FrmbufRd_l2::Stream, XV_frmbufrd_Set_HwReg_height(), XV_frmbufrd_Set_HwReg_stride(), XV_frmbufrd_Set_HwReg_video_format(), XV_frmbufrd_Set_HwReg_width(), XVFrmbufRd_IsBGR8Enabled, XVFrmbufRd_IsBGRA8Enabled, XVFrmbufRd_IsBGRX8Enabled, XVFrmbufRd_IsRGB16Enabled, XVFrmbufRd_IsRGB8Enabled, XVFrmbufRd_IsRGBA8Enabled, XVFrmbufRd_IsRGBX10Enabled, XVFrmbufRd_IsRGBX12Enabled, XVFrmbufRd_IsRGBX8Enabled, XVFrmbufRd_IsUYVY8Enabled, XVFrmbufRd_IsY10Enabled, XVFrmbufRd_IsY12Enabled, XVFrmbufRd_IsY16Enabled, XVFrmbufRd_IsY8Enabled, XVFrmbufRd_IsY_U_V10Enabled, XVFrmbufRd_IsY_U_V12Enabled, XVFrmbufRd_IsY_U_V8_420Enabled, XVFrmbufRd_IsY_U_V8Enabled, XVFrmbufRd_IsY_UV10_420Enabled, XVFrmbufRd_IsY_UV10Enabled, XVFrmbufRd_IsY_UV12_420Enabled, XVFrmbufRd_IsY_UV12Enabled, XVFrmbufRd_IsY_UV16_420Enabled, XVFrmbufRd_IsY_UV16Enabled, XVFrmbufRd_IsY_UV8_420Enabled, XVFrmbufRd_IsY_UV8Enabled, XVFrmbufRd_IsYUV16Enabled, XVFrmbufRd_IsYUV8Enabled, XVFrmbufRd_IsYUVA8Enabled, XVFrmbufRd_IsYUVX10Enabled, XVFrmbufRd_IsYUVX12Enabled, XVFrmbufRd_IsYUVX8Enabled, and XVFrmbufRd_IsYUYV8Enabled.

int XVFrmbufRd_SetVChromaBufferAddr ( XV_FrmbufRd_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_frmbufrd::Config, XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_Config::PixPerClk, and XV_frmbufrd_Set_HwReg_frm_buffer3_V().

void XVFrmbufRd_Start ( XV_FrmbufRd_l2 InstancePtr)

This function starts the Frame Buffer Read core.

This function initiates the frame buffer read operation by calling the lower-level start function for the frame buffer read hardware. It asserts that the provided instance pointer is not NULL before proceeding.

Parameters
InstancePtrPointer to the XV_FrmbufRd_l2 instance.
Returns
none

References XV_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_Start().

Referenced by XVFrameBufferCallback().

int XVFrmbufRd_Stop ( XV_FrmbufRd_l2 InstancePtr)

XVFrmbufRd_Stop - Stops the Frame Buffer Read core.

This function disables the auto-restart feature, initiates a flush operation, and waits for the flush to complete or until a timeout occurs. It returns XST_SUCCESS if the flush completes successfully, or XST_FAILURE if the flush does not complete within the allowed number of attempts.

Parameters
InstancePtris a pointer to the XV_FrmbufRd_l2 instance.
Returns
  • XST_SUCCESS if the flush operation completes successfully.
  • XST_FAILURE if the flush operation times out.
Note
None.

References XV_FrmbufRd_l2::FrmbufRd, XV_frmbufrd_DisableAutoRestart(), XV_frmbufrd_Get_FlushDone(), and XV_frmbufrd_SetFlushbit().

int XVFrmbufRd_WaitForIdle ( XV_FrmbufRd_l2 InstancePtr)

XVFrmbufRd_WaitForIdle - Waits until the Frame Buffer Read core is idle or a timeout occurs.

Parameters
InstancePtr,:Pointer to the XV_FrmbufRd_l2 instance.

This function polls the Frame Buffer Read core's status until it becomes idle or until a predefined timeout (XVFRMBUFRD_IDLE_TIMEOUT) is reached. It uses the XV_frmbufrd_IsIdle function to check the idle status. If the core becomes idle within the timeout period, the function returns XST_SUCCESS. Otherwise, it returns XST_FAILURE.

Returns
XST_SUCCESS if the core is in idle state XST_FAILURE if the core is not in idle state

References XV_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_IsIdle().