![]() |
v_frmbuf_rd
Vitis Drivers API Documentation
|
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... | |
| XVidC_ColorFormat RdMemory2Live | ( | XVidC_ColorFormat | MemFmt | ) |
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 | ) |
XVFrmbufRd_DbgReportStatus - Prints the current status and configuration of the Frame Buffer Read core.
| InstancePtr | Pointer 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:
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.
| InstancePtr,: | Pointer to the XV_FrmbufRd_l2 instance. |
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.
| InstancePtr,: | Pointer to the XV_FrmbufRd_l2 instance. |
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.
| InstancePtr | Pointer to the XV_FrmbufRd_l2 instance. |
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.
| InstancePtr | is a pointer to the XV_FrmbufRd_l2 instance. |
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.
| InstancePtr | is a pointer to core instance to be worked upon |
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.
| InstancePtr | is a pointer to core instance to be worked upon |
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.
| InstancePtr,: | Pointer to the XV_FrmbufRd_l2 instance. |
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.
| InstancePtr | is a pointer to core instance to be worked upon |
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.
| InstancePtr | Pointer to the XV_FrmbufRd_l2 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.
| InstancePtr | Pointer to the XV_FrmbufRd_l2 instance to be initialized. |
| DeviceId | Device ID of the XV_frmbufrd hardware (used if SDT is not defined). |
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.
| InstancePtr | Pointer to the XV_FrmbufRd_l2 instance. |
| IrqMask | is the interrupt mask the driver interrupt handler passes to the callback function. |
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.
| InstancePtr | Pointer to the XV_FrmbufRd_l2 instance. |
| IrqMask | is the interrupt mask the driver interrupt handler passes to the callback function. |
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.
| InstancePtr | is a pointer to the core instance that just interrupted. |
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.
| InstancePtr | Pointer to the XV_FrmbufRd_l2 instance. |
| fidmodeval | Field 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.
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.
| 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.
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
| 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. |
| HandlerType | specifies the type of 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.
| 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, 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.
| InstancePtr | Pointer to the XV_FrmbufRd_l2 instance. |
| FieldID | Field 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.
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.
| 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.
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.
| 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, 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.
| InstancePtr | Pointer to the XV_FrmbufRd_l2 instance. |
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.
| InstancePtr | is a pointer to the XV_FrmbufRd_l2 instance. |
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.
| 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.
References XV_FrmbufRd_l2::FrmbufRd, and XV_frmbufrd_IsIdle().