![]() |
v_deinterlacer
Vitis Drivers API Documentation
|
Data Structures | |
| struct | XV_deinterlacer_Config |
| This typedef contains configuration information for the DEINT core. More... | |
| struct | XV_deinterlacer |
| Driver instance data. More... | |
Functions | |
| int | XV_deinterlacer_Initialize (XV_deinterlacer *InstancePtr, u16 DeviceId) |
| XV_deinterlacer_Initialize - Initializes the XV_deinterlacer instance. More... | |
| XV_deinterlacer_Config * | XV_deinterlacer_LookupConfig (u16 DeviceId) |
| XV_deinterlacer_LookupConfig - Looks up the configuration for a specific device ID. More... | |
| int | XV_deinterlacer_CfgInitialize (XV_deinterlacer *InstancePtr, XV_deinterlacer_Config *ConfigPtr, UINTPTR EffectiveAddr) |
| Initializes a specific XV_deinterlacer instance with the provided configuration. More... | |
| void | XV_deinterlacer_Start (XV_deinterlacer *InstancePtr) |
| This function Starts the XV_deinterlacer hardware core. More... | |
| u32 | XV_deinterlacer_IsDone (XV_deinterlacer *InstancePtr) |
| Checks if the deinterlacer hardware core has completed its current operation. More... | |
| u32 | XV_deinterlacer_IsIdle (XV_deinterlacer *InstancePtr) |
| Checks if the XV_deinterlacer hardware core is idle. More... | |
| u32 | XV_deinterlacer_IsReady (XV_deinterlacer *InstancePtr) |
| Checks if the XV_deinterlacer hardware core is ready to accept new input. More... | |
| void | XV_deinterlacer_EnableAutoRestart (XV_deinterlacer *InstancePtr) |
| Enables the auto-restart feature of the XV_deinterlacer hardware. More... | |
| void | XV_deinterlacer_DisableAutoRestart (XV_deinterlacer *InstancePtr) |
| Disable the auto-restart feature of the deinterlacer hardware. More... | |
| void | XV_deinterlacer_Set_width (XV_deinterlacer *InstancePtr, u32 Data) |
| Sets the width parameter for the XV_deinterlacer instance. More... | |
| u32 | XV_deinterlacer_Get_width (XV_deinterlacer *InstancePtr) |
| Retrieves the current width configuration from the XV_deinterlacer hardware instance. More... | |
| void | XV_deinterlacer_Set_height (XV_deinterlacer *InstancePtr, u32 Data) |
| Sets the height parameter for the XV_deinterlacer instance. More... | |
| u32 | XV_deinterlacer_Get_height (XV_deinterlacer *InstancePtr) |
| Retrieves the current height configuration value from the XV_deinterlacer hardware instance. More... | |
| void | XV_deinterlacer_Set_read_fb (XV_deinterlacer *InstancePtr, u64 Data) |
| Sets the read frame buffer address for the XV_deinterlacer instance. More... | |
| u64 | XV_deinterlacer_Get_read_fb (XV_deinterlacer *InstancePtr) |
| Retrieves the current value of the read frame buffer address from the deinterlacer hardware. More... | |
| void | XV_deinterlacer_Set_write_fb (XV_deinterlacer *InstancePtr, u64 Data) |
| Sets the read frame buffer address for the XV_deinterlacer instance. More... | |
| u64 | XV_deinterlacer_Get_write_fb (XV_deinterlacer *InstancePtr) |
| Retrieves the current value of the write frame buffer address from the deinterlacer hardware. More... | |
| void | XV_deinterlacer_Set_colorFormat (XV_deinterlacer *InstancePtr, u32 Data) |
| Sets the color format for the XV_deinterlacer instance. More... | |
| u32 | XV_deinterlacer_Get_colorFormat (XV_deinterlacer *InstancePtr) |
| Retrieves the current color format setting from the deinterlacer hardware. More... | |
| void | XV_deinterlacer_Set_algo (XV_deinterlacer *InstancePtr, u32 Data) |
| Sets the deinterlacing algorithm for the XV_deinterlacer instance. More... | |
| u32 | XV_deinterlacer_Get_algo (XV_deinterlacer *InstancePtr) |
| Retrieves the current deinterlacing algorithm setting from the hardware. More... | |
| void | XV_deinterlacer_Set_invert_field_id (XV_deinterlacer *InstancePtr, u32 Data) |
| Sets the invert field ID parameter for the XV_deinterlacer instance. More... | |
| u32 | XV_deinterlacer_Get_invert_field_id (XV_deinterlacer *InstancePtr) |
| Retrieves the value of the INVERT_FIELD_ID register from the deinterlacer hardware. More... | |
| void | XV_deinterlacer_InterruptGlobalEnable (XV_deinterlacer *InstancePtr) |
| Enables the global interrupt for the XV_deinterlacer hardware instance. More... | |
| void | XV_deinterlacer_InterruptGlobalDisable (XV_deinterlacer *InstancePtr) |
| This Function Disables the global interrupt for the XV_deinterlacer core. More... | |
| void | XV_deinterlacer_InterruptEnable (XV_deinterlacer *InstancePtr, u32 Mask) |
| Enables specific interrupts for the XV_deinterlacer hardware instance. More... | |
| void | XV_deinterlacer_InterruptDisable (XV_deinterlacer *InstancePtr, u32 Mask) |
| Disable specific interrupts for the XV_deinterlacer instance. More... | |
| void | XV_deinterlacer_InterruptClear (XV_deinterlacer *InstancePtr, u32 Mask) |
| This Function Clears the specified interrupt(s) for the XV_deinterlacer instance. More... | |
| u32 | XV_deinterlacer_InterruptGetEnabled (XV_deinterlacer *InstancePtr) |
| Retrieves the interrupt enable register value for the specified deinterlacer instance. More... | |
| u32 | XV_deinterlacer_InterruptGetStatus (XV_deinterlacer *InstancePtr) |
| Retrieves the interrupt status register value for the XV_deinterlacer instance. More... | |
| int XV_deinterlacer_CfgInitialize | ( | XV_deinterlacer * | InstancePtr, |
| XV_deinterlacer_Config * | ConfigPtr, | ||
| UINTPTR | EffectiveAddr | ||
| ) |
Initializes a specific XV_deinterlacer instance with the provided configuration.
This function sets up the deinterlacer instance pointed to by InstancePtr using the configuration data in ConfigPtr and the specified base address. It performs basic parameter validation using assertions.
| InstancePtr | Pointer to the XV_deinterlacer instance to initialize. |
| ConfigPtr | Pointer to the configuration structure for the device. |
| EffectiveAddr | Base address for the device instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
Referenced by XV_deinterlacer_Initialize().
| void XV_deinterlacer_DisableAutoRestart | ( | XV_deinterlacer * | InstancePtr | ) |
Disable the auto-restart feature of the deinterlacer hardware.
This function disables the auto-restart capability of the XV_deinterlacer instance specified by InstancePtr. When auto-restart is disabled, the hardware will not automatically restart processing after completing a frame.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, XV_deinterlacer::IsReady, and XV_DEINTERLACER_CTRL_ADDR_AP_CTRL.
Referenced by XV_DeintStop().
| void XV_deinterlacer_EnableAutoRestart | ( | XV_deinterlacer * | InstancePtr | ) |
Enables the auto-restart feature of the XV_deinterlacer hardware.
This function sets the appropriate control register bit to allow the deinterlacer hardware to automatically restart its operation after completing a frame, without requiring software intervention.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
CODE
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, XV_deinterlacer::IsReady, and XV_DEINTERLACER_CTRL_ADDR_AP_CTRL.
Referenced by XV_DeintStart().
| u32 XV_deinterlacer_Get_algo | ( | XV_deinterlacer * | InstancePtr | ) |
Retrieves the current deinterlacing algorithm setting from the hardware.
This function reads the value of the algorithm register from the deinterlacer hardware instance specified by InstancePtr. It asserts that the instance pointer is not NULL and that the instance is ready before accessing the register.
| InstancePtr | is a pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
Referenced by XV_DeintDbgReportStatus().
| u32 XV_deinterlacer_Get_colorFormat | ( | XV_deinterlacer * | InstancePtr | ) |
Retrieves the current color format setting from the deinterlacer hardware.
This function reads the color format register from the deinterlacer instance and returns its value. It asserts that the provided instance pointer is not NULL and that the instance is ready before accessing the hardware register.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
Referenced by XV_DeintDbgReportStatus().
| u32 XV_deinterlacer_Get_height | ( | XV_deinterlacer * | InstancePtr | ) |
Retrieves the current height configuration value from the XV_deinterlacer hardware instance.
This function reads the HEIGHT register from the deinterlacer hardware and returns its value. It asserts that the provided instance pointer is not NULL and that the hardware is ready.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
Referenced by XV_DeintDbgReportStatus().
| u32 XV_deinterlacer_Get_invert_field_id | ( | XV_deinterlacer * | InstancePtr | ) |
Retrieves the value of the INVERT_FIELD_ID register from the deinterlacer hardware.
This function reads the INVERT_FIELD_ID register from the hardware instance specified by the given XV_deinterlacer pointer. It asserts that the instance pointer is not NULL and that the hardware component is ready before performing the read operation.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| u64 XV_deinterlacer_Get_read_fb | ( | XV_deinterlacer * | InstancePtr | ) |
Retrieves the current value of the read frame buffer address from the deinterlacer hardware.
This function reads a 64-bit address from two consecutive 32-bit hardware registers, combines them, and returns the resulting address. It asserts that the provided instance pointer is not NULL and that the instance is ready before accessing the hardware.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
Referenced by XV_DeintDbgReportStatus().
| u32 XV_deinterlacer_Get_width | ( | XV_deinterlacer * | InstancePtr | ) |
Retrieves the current width configuration from the XV_deinterlacer hardware instance.
This function reads the width value from the hardware register associated with the deinterlacer instance. It asserts that the provided instance pointer is not NULL and that the instance is ready before accessing the register.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
Referenced by XV_DeintDbgReportStatus().
| u64 XV_deinterlacer_Get_write_fb | ( | XV_deinterlacer * | InstancePtr | ) |
Retrieves the current value of the write frame buffer address from the deinterlacer hardware.
This function reads a 64-bit address from two consecutive 32-bit hardware registers associated with the write frame buffer. It first asserts that the provided instance pointer is not NULL and that the instance is ready for use.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
Referenced by XV_DeintDbgReportStatus().
| int XV_deinterlacer_Initialize | ( | XV_deinterlacer * | InstancePtr, |
| u16 | DeviceId | ||
| ) |
XV_deinterlacer_Initialize - Initializes the XV_deinterlacer instance.
This function looks up the configuration for the specified device ID and initializes the XV_deinterlacer instance with the configuration data. If the configuration cannot be found, the function sets the instance as not ready and returns an error code.
| InstancePtr | Pointer to the XV_deinterlacer instance to be initialized. |
| DeviceId | Device ID of the XV_deinterlacer core to look up. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::IsReady, XV_deinterlacer_CfgInitialize(), and XV_deinterlacer_LookupConfig().
Referenced by XV_DeintInitialize().
| void XV_deinterlacer_InterruptClear | ( | XV_deinterlacer * | InstancePtr, |
| u32 | Mask | ||
| ) |
This Function Clears the specified interrupt(s) for the XV_deinterlacer instance.
This function writes the provided interrupt mask to the Interrupt Status Register (ISR) to clear the corresponding interrupt(s) for the deinterlacer hardware.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
| Mask | Bitmask specifying which interrupt(s) to clear. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| void XV_deinterlacer_InterruptDisable | ( | XV_deinterlacer * | InstancePtr, |
| u32 | Mask | ||
| ) |
Disable specific interrupts for the XV_deinterlacer instance.
This function disables the interrupts specified by the Mask parameter for the given XV_deinterlacer hardware instance. It reads the current interrupt enable register, clears the bits specified by Mask, and writes the updated value back to the register.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
| Mask | Bitmask of interrupts to disable. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| void XV_deinterlacer_InterruptEnable | ( | XV_deinterlacer * | InstancePtr, |
| u32 | Mask | ||
| ) |
Enables specific interrupts for the XV_deinterlacer hardware instance.
This function sets the bits specified by the Mask parameter in the Interrupt Enable Register (IER) of the deinterlacer hardware, allowing the corresponding interrupts to be generated.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
| Mask | Bitmask specifying which interrupts to enable. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| u32 XV_deinterlacer_InterruptGetEnabled | ( | XV_deinterlacer * | InstancePtr | ) |
Retrieves the interrupt enable register value for the specified deinterlacer instance.
This function checks that the provided instance pointer is valid and that the deinterlacer component is ready. It then reads and returns the value of the interrupt enable register.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| u32 XV_deinterlacer_InterruptGetStatus | ( | XV_deinterlacer * | InstancePtr | ) |
Retrieves the interrupt status register value for the XV_deinterlacer instance.
This function reads the interrupt status register (ISR) of the deinterlacer hardware and returns its current value. It asserts that the provided instance pointer is not NULL and that the instance is ready before accessing the register.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| void XV_deinterlacer_InterruptGlobalDisable | ( | XV_deinterlacer * | InstancePtr | ) |
This Function Disables the global interrupt for the XV_deinterlacer core.
This function disables all interrupts by clearing the Global Interrupt Enable (GIE) register of the XV_deinterlacer hardware instance.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| void XV_deinterlacer_InterruptGlobalEnable | ( | XV_deinterlacer * | InstancePtr | ) |
Enables the global interrupt for the XV_deinterlacer hardware instance.
This function sets the Global Interrupt Enable (GIE) bit in the control register of the deinterlacer hardware, allowing interrupts to be generated.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
Preconditions:
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| u32 XV_deinterlacer_IsDone | ( | XV_deinterlacer * | InstancePtr | ) |
Checks if the deinterlacer hardware core has completed its current operation.
This function reads the status register of the deinterlacer hardware and returns whether the operation is done. It asserts that the provided instance pointer is not NULL and that the instance is ready before accessing the hardware register.
| InstancePtr | is a pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, XV_deinterlacer::IsReady, and XV_DEINTERLACER_CTRL_ADDR_AP_CTRL.
Referenced by XV_DeintDbgReportStatus().
| u32 XV_deinterlacer_IsIdle | ( | XV_deinterlacer * | InstancePtr | ) |
Checks if the XV_deinterlacer hardware core is idle.
This function reads the control register of the deinterlacer hardware core to determine if it is currently idle. It asserts that the provided instance pointer is not NULL and that the instance is ready before accessing the hardware.
| InstancePtr | is a pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, XV_deinterlacer::IsReady, and XV_DEINTERLACER_CTRL_ADDR_AP_CTRL.
Referenced by XV_DeintDbgReportStatus(), and XV_DeintWaitForIdle().
| u32 XV_deinterlacer_IsReady | ( | XV_deinterlacer * | InstancePtr | ) |
Checks if the XV_deinterlacer hardware core is ready to accept new input.
This function reads the control register of the deinterlacer hardware to determine if it is ready for the next operation. It asserts that the provided instance pointer is not NULL and that the instance is marked as ready. The function returns a non-zero value if the core is ready, and zero otherwise.
| InstancePtr | is a pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, XV_deinterlacer::IsReady, and XV_DEINTERLACER_CTRL_ADDR_AP_CTRL.
Referenced by XV_DeintDbgReportStatus().
| XV_deinterlacer_Config* XV_deinterlacer_LookupConfig | ( | u16 | DeviceId | ) |
XV_deinterlacer_LookupConfig - Looks up the configuration for a specific device ID.
This function searches the XV_deinterlacer_ConfigTable for a configuration structure that matches the provided DeviceId. If a match is found, a pointer to the corresponding configuration structure is returned. If no match is found, NULL is returned.
| DeviceId,: | The unique identifier for the device whose configuration is to be found. |
Referenced by XV_deinterlacer_Initialize().
| void XV_deinterlacer_Set_algo | ( | XV_deinterlacer * | InstancePtr, |
| u32 | Data | ||
| ) |
Sets the deinterlacing algorithm for the XV_deinterlacer instance.
This function writes the specified algorithm data to the hardware register controlling the deinterlacing algorithm. It first asserts that the instance pointer is not NULL and that the instance is ready before performing the write.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
| Data | The algorithm selection data to be written to the hardware. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| void XV_deinterlacer_Set_colorFormat | ( | XV_deinterlacer * | InstancePtr, |
| u32 | Data | ||
| ) |
Sets the color format for the XV_deinterlacer instance.
This function writes the specified color format value to the hardware register associated with the deinterlacer core. It first asserts that the provided instance pointer is not NULL and that the instance is ready for operation.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
| Data | The color format value to be set. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
Referenced by XV_DeintSetFieldBuffers().
| void XV_deinterlacer_Set_height | ( | XV_deinterlacer * | InstancePtr, |
| u32 | Data | ||
| ) |
Sets the height parameter for the XV_deinterlacer instance.
This function writes the specified height value to the hardware register associated with the deinterlacer core. It first checks that the instance pointer is not NULL and that the instance is ready before performing the register write.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
| Data | The height value to be set in the hardware register. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| void XV_deinterlacer_Set_invert_field_id | ( | XV_deinterlacer * | InstancePtr, |
| u32 | Data | ||
| ) |
Sets the invert field ID parameter for the XV_deinterlacer instance.
This function writes the specified value to the INVERT_FIELD_ID register of the deinterlacer hardware. It first asserts that the instance pointer is not NULL and that the instance is ready before performing the register write.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
| Data | Value to be written to the INVERT_FIELD_ID register. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| void XV_deinterlacer_Set_read_fb | ( | XV_deinterlacer * | InstancePtr, |
| u64 | Data | ||
| ) |
Sets the read frame buffer address for the XV_deinterlacer instance.
This function writes a 64-bit address to the hardware registers associated with the read frame buffer. The address is split into two 32-bit values and written to consecutive register addresses.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
| Data | 64-bit address of the read frame buffer. |
Preconditions:
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
Referenced by XV_DeintSetFieldBuffers().
| void XV_deinterlacer_Set_width | ( | XV_deinterlacer * | InstancePtr, |
| u32 | Data | ||
| ) |
Sets the width parameter for the XV_deinterlacer instance.
This function writes the specified width value to the hardware register associated with the deinterlacer core. It first asserts that the instance pointer is not NULL and that the instance is ready before performing the register write.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
| Data | The width value to be set in the hardware register. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
| void XV_deinterlacer_Set_write_fb | ( | XV_deinterlacer * | InstancePtr, |
| u64 | Data | ||
| ) |
Sets the read frame buffer address for the XV_deinterlacer instance.
This function writes a 64-bit address to the hardware registers associated with the read frame buffer. The address is split into two 32-bit values and written to consecutive registers.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
| Data | 64-bit address of the read frame buffer. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, and XV_deinterlacer::IsReady.
Referenced by XV_DeintSetFieldBuffers().
| void XV_deinterlacer_Start | ( | XV_deinterlacer * | InstancePtr | ) |
This function Starts the XV_deinterlacer hardware core.
This function initiates the operation of the XV_deinterlacer hardware by setting the start bit in the control register. It first asserts that the provided instance pointer is not NULL and that the hardware is ready. The function preserves the auto-restart bit (bit 7) in the control register and sets the start bit (bit 0) to begin processing.
| InstancePtr | Pointer to the XV_deinterlacer instance. |
References XV_deinterlacer_Config::BaseAddress, XV_deinterlacer::Config, XV_deinterlacer::IsReady, and XV_DEINTERLACER_CTRL_ADDR_AP_CTRL.
Referenced by XV_DeintStart().