![]() |
deinterlacer
Xilinx SDK Drivers API Documentation
|
Data Structures | |
struct | XDeint_Config |
Deinterlacer core configuration structure. More... | |
struct | XDeint |
The XDeint driver instance data. More... | |
Macros | |
#define | XDEINT_H |
Prevent circular inclusions by using protection macros. More... | |
#define | XDeint_Enable(InstancePtr) |
This macro enables the Deinterlacer algorithms. More... | |
#define | XDeint_Disable(InstancePtr) |
This macro disables the Deinterlacer algorithms. More... | |
#define | XDeint_Start(InstancePtr) |
This macro enables the Deinterlacer core to accept video. More... | |
#define | XDeint_Stop(InstancePtr) |
This macro halts the Deinterlacer core on the next frame boundary. More... | |
#define | XDeint_Reset(InstancePtr) |
This macro soft resets the Deinterlacer to its default mode. More... | |
#define | XDeint_InReset(InstancePtr) |
This macro returns the current soft-reset state. More... | |
#define | XDeint_RegUpdateReq(InstancePtr) |
This macro tells the Deinterlacer core to pick up all the register value changes made so far by the software at the next frame boundary. More... | |
#define | XDeint_IntrEnable(InstancePtr, IntrType) |
This macro enables the given individual interrupt(s) on the Deinterlacer core. More... | |
#define | XDeint_IntrDisable(InstancePtr, IntrType) |
This macro disables the given individual interrupt(s) on the Deinterlacer core. More... | |
#define | XDeint_IntrGetPending(InstancePtr) |
This macro returns the pending interrupts of the Deinterlacer core. More... | |
#define | XDeint_IntrClear(InstancePtr, IntrType) |
This macro clears/acknowledges pending interrupts of the Deinterlacer core. More... | |
#define | XDeint_SetRGB(InstancePtr) |
This macro sets the Deinterlacer's color space to RGB. More... | |
#define | XDeint_SetYUV(InstancePtr) |
This macro sets the Deinterlacer's color space to YUV. More... | |
#define | XDeint_SetAlgorithm(InstancePtr, Alg) |
This macro sets the Deinterlacer's processing algorithm. More... | |
#define | XDeint_GetColorSpace(InstancePtr) |
This macro gets the Deinterlacer's color space. More... | |
#define | XDeint_GetAlgorithm(InstancePtr) |
This macro gets the Deinterlacer's processing algorithm. More... | |
#define | XDEINT_HW_H |
Prevent circular inclusions by using protection macros. More... | |
#define | XDEINT_RESET_RESET_MASK 0x00000001 |
Software Reset. More... | |
#define | XDEINT_FADE_RATIO 1048576 |
Fade ratio. More... | |
#define | XDEINT_I_H |
Prevent circular inclusions by using protection macros. More... | |
Typedefs | |
typedef void(* | XDeint_CallBack) (u32 status) |
Callback type for all interrupts. More... | |
Functions | |
int | XDeint_ConfigInitialize (XDeint *InstancePtr, XDeint_Config *CfgPtr, u32 EffectiveAddr) |
This function initializes the Deinterlacer core. More... | |
void | XDeint_SetFramestore (XDeint *InstancePtr, u32 FieldAddr1, u32 FieldAddr2, u32 FieldAddr3, u32 FrameSize) |
This function sets the input field buffer addresses of the Deinterlacer core. More... | |
void | XDeint_SetVideo (XDeint *InstancePtr, u32 Packing, u32 Color, u32 Order, u32 PSF) |
This function sets the video format of the Deinterlacer core. More... | |
void | XDeint_SetThresholds (XDeint *InstancePtr, u32 ThresholdT1, u32 ThresholdT2) |
This function sets the threshold used by the motion adaptive kernel of the Deinterlacer core. More... | |
void | XDeint_SetPulldown (XDeint *InstancePtr, u32 Enable_32, u32 Enable_22) |
This function sets the pull down controller of the Deinterlacer core. More... | |
u32 | XDeint_GetVersion (XDeint *InstancePtr) |
This function returns the contents of Version register. More... | |
void | XDeint_SetSize (XDeint *InstancePtr, u32 Width, u32 Height) |
This function sets the input frame size of the Deinterlacer core. More... | |
void | XDeint_GetVideo (XDeint *InstancePtr, u32 *Packing, u32 *Color, u32 *Order, u32 *PSF) |
This function gets the video format of the Deinterlacer core. More... | |
void | XDeint_GetPulldown (XDeint *InstancePtr, u32 *Enable_32, u32 *Enable_22) |
This function gets the pull down controller of the Deinterlacer core. More... | |
void | XDeint_GetSize (XDeint *InstancePtr, u32 *Width, u32 *Height) |
This function gets the input frame size of the Deinterlacer core. More... | |
void | XDeint_GetThresholds (XDeint *InstancePtr, u32 *ThresholdT1, u32 *ThresholdT2) |
This function gets the threshold used by the motion adaptive kernel. More... | |
void | XDeint_GetFramestore (XDeint *InstancePtr, u32 *FieldAddr1, u32 *FieldAddr2, u32 *FieldAddr3, u32 *FrameSize) |
This function gets input field buffer addresses of an Deinterlacer core. More... | |
XDeint_Config * | XDeint_LookupConfig (u16 DeviceId) |
This function returns a reference to an XDeint_Config structure based on the unique device id, DeviceId. More... | |
void | XDeint_IntrHandler (void *InstancePtr) |
This function is the interrupt handler for the Deinterlacer core. More... | |
int | XDeint_SetCallBack (XDeint *InstancePtr, void *CallBackFunc) |
This routine installs an asynchronous callback function. More... | |
int | XDeint_Selftest (XDeint *InstancePtr) |
This function reads Version register of Deinterlacer core and compares with zero as part of self test. More... | |
Variables | |
XDeint_Config | XDeint_ConfigTable [] |
The configuration table for Video Deinterlacers devices. More... | |
Interrupt types for setting up callbacks | |
#define | XDEINT_HANDLER |
Internal Register update done. More... | |
Register Offsets: | |
#define | XDEINT_CONTROL_OFFSET 0x000 |
Deinterlacer Main Control. More... | |
#define | XDEINT_MODE_OFFSET 0x004 |
Deinterlacer internal Modes. More... | |
#define | XDEINT_IER_OFFSET 0x008 |
Interrupt Enable Control. More... | |
#define | XDEINT_ISR_OFFSET 0x00C |
Interrupt Enable Status. More... | |
#define | XDEINT_HEIGHT_OFFSET 0x010 |
Height. More... | |
#define | XDEINT_WIDTH_OFFSET 0x014 |
Width. More... | |
#define | XDEINT_THRESH1_OFFSET 0x018 |
T1 Threshold. More... | |
#define | XDEINT_THRESH2_OFFSET 0x01C |
T2 Threshold. More... | |
#define | XDEINT_XFADE_OFFSET 0x020 |
Cross Fade Ration. More... | |
#define | XDEINT_BUFFER0_OFFSET 0x024 |
VFBC Field Buffer 0 Base. More... | |
#define | XDEINT_BUFFER1_OFFSET 0x028 |
VFBC Field Buffer 1 Base. More... | |
#define | XDEINT_BUFFER2_OFFSET 0x02C |
VFBC Field Buffer 2 Base. More... | |
#define | XDEINT_BUFSIZE_OFFSET 0x030 |
VFBC Field Buffer Page size in 32bit Words. More... | |
#define | XDEINT_VER_OFFSET 0x0F0 |
Hardware Version ID. More... | |
#define | XDEINT_RESET_OFFSET 0x100 |
Soft Reset. More... | |
Interrupt Status/Enable Register bit definitions: | |
#define | XDEINT_IXR_UPDATE_MASK 0x00000001 |
Internal Register update done. More... | |
#define | XDEINT_IXR_LOCKED_MASK 0x00000002 |
Deinterlacer is locked to incoming video. More... | |
#define | XDEINT_IXR_UNLOCKED_MASK 0x00000004 |
Deinterlacer has lost lock to incoming video. More... | |
#define | XDEINT_IXR_ERROR_MASK 0x00000008 |
Deinterlacer internal FIFO error. More... | |
#define | XDEINT_IXR_PULL_ON_MASK 0x00000010 |
Pull down activated. More... | |
#define | XDEINT_IXR_PULL_OFF_MASK 0x00000020 |
Pull down cancelled. More... | |
#define | XDEINT_IXR_FRAME_MASK 0x00000040 |
Frame Tick. More... | |
#define | XDEINT_IXR_FS_CFG_ERROR_MASK 0x00000100 |
Frame store Write setup error. More... | |
#define | XDEINT_IXR_FS_WR_ERROR_MASK 0x00000200 |
Frame store Write FIFO overflow. More... | |
#define | XDEINT_IXR_FS_RD_FIELD_ERROR_MASK 0x00000400 |
Frame store Read Field under run. More... | |
#define | XDEINT_IXR_FS_RD_FRAME_ERROR_MASK 0x00000800 |
Frame store Read Frame under run. More... | |
#define | XDEINT_IXR_ALLINTR_MASK |
Mask for all interrupts. More... | |
Error Status/ bit definitions: | |
#define | XDEINT_STS_ERROR 0x00000008 |
Deinterlacer internal FIFO error. More... | |
#define | XDEINT_STS_FS_CFG_ERROR 0x00000100 |
Frame store Write setup error. More... | |
#define | XDEINT_STS_FS_WR_ERROR 0x00000200 |
Frame store Write FIFO overflow. More... | |
#define | XDEINT_STS_FS_RD_FIELD_ERROR 0x00000400 |
Frame store Read Field under run. More... | |
#define | XDEINT_STS_FS_RD_FRAME_ERROR 0x00000800 |
Frame store Read Frame under run. More... | |
Deinterlacer Control Fields: | |
#define | XDEINT_VER_MAJOR_MASK 0xFF000000 |
Major Version. More... | |
#define | XDEINT_VER_MAJOR_SHIFT 24 |
Major Bit Shift. More... | |
#define | XDEINT_VER_MINOR_MASK 0x00F00000 |
Minor Version. More... | |
#define | XDEINT_VER_MINOR_SHIFT 20 |
Minor Bit Shift. More... | |
#define | XDEINT_VER_REV_MASK 0x000F0000 |
Revision Version. More... | |
#define | XDEINT_VER_REV_SHIFT 16 |
Revision Bit Shift. More... | |
#define | XDEINT_CTL_UPDATE_REQ 0x00000001 |
Queue a register update request. More... | |
#define | XDEINT_CTL_ENABLE 0x00000002 |
Enable/Disable Deinterlacer algorithms. More... | |
#define | XDEINT_CTL_ACCEPT_VIDEO 0x00000004 |
Accept Video into the Deinterlacer. More... | |
Deinterlacer Mode Fields: | |
#define | XDEINT_MODE_ALGORITHM_0 0x00000001 |
Deinterlacer algorithm. More... | |
#define | XDEINT_MODE_ALGORITHM_1 0x00000002 |
Deinterlacer algorithm. More... | |
#define | XDEINT_MODE_COL 0x00000004 |
Color Space. More... | |
#define | XDEINT_MODE_PACKING_0 0x00000008 |
XSVI Packing. More... | |
#define | XDEINT_MODE_PACKING_1 0x00000010 |
XSVI Packing. More... | |
#define | XDEINT_MODE_FIELD_ORDER 0x00000020 |
First field order. More... | |
#define | XDEINT_MODE_PSF_ENABLE 0x00000040 |
PSF pass through enable. More... | |
#define | XDEINT_MODE_PULL_32_ENABLE 0x00000080 |
Pull down 3:2 control enable. More... | |
#define | XDEINT_MODE_PULL_22_ENABLE 0x00000100 |
Pull down 2:2 control enable. More... | |
#define | XDEINT_MODE_PULL_22_FIELDP 0x00000200 |
Pull down 2:2 Field Precedence. More... | |
#define | XDEINT_MODE_COLOUR_YUV 0x00000000 |
Deinterlacer color space. More... | |
#define | XDEINT_MODE_COLOUR_RGB 0x00000004 |
Deinterlacer color space. More... | |
#define | XDEINT_MODE_ALGORITHM_RAW 0x00000000 |
Deinterlacer algorithm option 0. More... | |
#define | XDEINT_MODE_ALGORITHM_DIAG 0x00000001 |
Deinterlacer algorithm option 1. More... | |
#define | XDEINT_MODE_ALGORITHM_MOTION 0x00000002 |
Deinterlacer algorithm option 2. More... | |
#define | XDEINT_MODE_ALGORITHM_FULL 0x00000003 |
Deinterlacer algorithm option 3. More... | |
#define | XDEINT_MODE_PACKING_420 0x00000000 |
XSVI Packing mode 420. More... | |
#define | XDEINT_MODE_PACKING_422 0x00000008 |
XSVI Packing mode 422. More... | |
#define | XDEINT_MODE_PACKING_444 0x00000010 |
XSVI Packing mode 444. More... | |
#define | XDEINT_MODE_FIELD_EVEN_FIRST 0x00000020 |
First field of frame contains even video lines. More... | |
#define | XDEINT_MODE_FIELD_ODD_FIRST 0x00000000 |
First field of frame contains odd video lines. More... | |
#define | XDEINT_MODE_ALGORITHM_MASK 0x00000003 |
Deinterlacer algorithm. More... | |
#define | XDEINT_MODE_COL_MASK 0x00000004 |
Color Space. More... | |
#define | XDEINT_MODE_PACKING_MASK 0x00000018 |
XSVI Packing. More... | |
#define | XDEINT_MODE_FIELD_ORDER_MASK 0x00000020 |
First field order. More... | |
#define | XDEINT_MODE_PSF_ENABLE_MASK 0x00000040 |
PSF pass through enable. More... | |
#define | XDEINT_MODE_PULL_ENABLE_MASK 0x00000180 |
Pull down control enable. More... | |
Deinterlacer height bit definitions: | |
#define | XDEINT_HEIGHT_MASK 0x000007FF |
Deinterlacer height. More... | |
Deinterlacer width bit definitions: | |
#define | XDEINT_WIDTH_MASK 0x000007FF |
Deinterlacer width. More... | |
Deinterlacer Threshold T1 /T2 bit definitions: | |
#define | XDEINT_THRESHOLD_MASK 0x000003FF |
Deinterlacer threshold. More... | |
Deinterlacer cross fade cycle bit definitions: | |
#define | XDEINT_XFADE_MASK 0x0000FFFF |
Deinterlacer Cross fade cycle. More... | |
Deinterlacer Buffer cycle bit definitions: | |
#define | XDEINT_BUF_SIZE_MASK 0x00FFFFFF |
Deinterlacer Buffer size mask. More... | |
Backward compatibility macros | |
#define | XDEINT_CONTROL XDEINT_CONTROL_OFFSET |
#define | XDEINT_MODE XDEINT_MODE_OFFSET |
#define | XDEINT_IER XDEINT_IER_OFFSET |
#define | XDEINT_ISR XDEINT_ISR_OFFSET |
#define | XDEINT_HEIGHT XDEINT_HEIGHT_OFFSET |
#define | XDEINT_WIDTH XDEINT_WIDTH_OFFSET |
#define | XDEINT_T1 XDEINT_THRESH1_OFFSET |
#define | XDEINT_T2 XDEINT_THRESH2_OFFSET |
#define | XDEINT_XFADE XDEINT_XFADE_OFFSET |
#define | XDEINT_FS_BASE0 XDEINT_BUFFER0_OFFSET |
#define | XDEINT_FS_BASE1 XDEINT_BUFFER1_OFFSET |
#define | XDEINT_FS_BASE2 XDEINT_BUFFER2_OFFSET |
#define | XDEINT_FS_WORDS XDEINT_BUFSIZE_OFFSET |
#define | XDEINT_VER XDEINT_VER_OFFSET |
#define | XDEINT_RESET XDEINT_RESET_OFFSET |
Core register I/O APIs: | |
#define | XDeint_In32 Xil_In32 |
#define | XDeint_Out32 Xil_Out32 |
#define | XDeint_ReadReg(BaseAddress, RegOffset) XDeint_In32((BaseAddress) + (u32)(RegOffset)) |
This macro reads the given register. More... | |
#define | XDeint_WriteReg(BaseAddress, RegOffset, Data) XDeint_Out32((BaseAddress) + (u32)(RegOffset), (Data)) |
This macro writes the given register. More... | |
#define XDEINT_BUF_SIZE_MASK 0x00FFFFFF |
#include <xdeint_hw.h>
Deinterlacer Buffer size mask.
#define XDEINT_BUFFER0_OFFSET 0x024 |
#include <xdeint_hw.h>
VFBC Field Buffer 0 Base.
Referenced by XDeint_GetFramestore(), and XDeint_SetFramestore().
#define XDEINT_BUFFER1_OFFSET 0x028 |
#include <xdeint_hw.h>
VFBC Field Buffer 1 Base.
Referenced by XDeint_GetFramestore(), and XDeint_SetFramestore().
#define XDEINT_BUFFER2_OFFSET 0x02C |
#include <xdeint_hw.h>
VFBC Field Buffer 2 Base.
Referenced by XDeint_GetFramestore(), and XDeint_SetFramestore().
#define XDEINT_BUFSIZE_OFFSET 0x030 |
#include <xdeint_hw.h>
VFBC Field Buffer Page size in 32bit Words.
Referenced by XDeint_GetFramestore(), and XDeint_SetFramestore().
#define XDEINT_CONTROL_OFFSET 0x000 |
#include <xdeint_hw.h>
Deinterlacer Main Control.
#define XDEINT_CTL_ACCEPT_VIDEO 0x00000004 |
#include <xdeint_hw.h>
Accept Video into the Deinterlacer.
#define XDEINT_CTL_ENABLE 0x00000002 |
#include <xdeint_hw.h>
Enable/Disable Deinterlacer algorithms.
#define XDEINT_CTL_UPDATE_REQ 0x00000001 |
#include <xdeint_hw.h>
Queue a register update request.
#define XDeint_Disable | ( | InstancePtr | ) |
#include <xdeint.h>
This macro disables the Deinterlacer algorithms.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDeint_Enable | ( | InstancePtr | ) |
#include <xdeint.h>
This macro enables the Deinterlacer algorithms.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDEINT_FADE_RATIO 1048576 |
#define XDeint_GetAlgorithm | ( | InstancePtr | ) |
#include <xdeint.h>
This macro gets the Deinterlacer's processing algorithm.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDeint_GetColorSpace | ( | InstancePtr | ) |
#include <xdeint.h>
This macro gets the Deinterlacer's color space.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDEINT_H |
#include <xdeint.h>
Prevent circular inclusions by using protection macros.
#define XDEINT_HANDLER |
#include <xdeint.h>
Internal Register update done.
#define XDEINT_HEIGHT_MASK 0x000007FF |
#define XDEINT_HEIGHT_OFFSET 0x010 |
#define XDEINT_HW_H |
#include <xdeint_hw.h>
Prevent circular inclusions by using protection macros.
#define XDEINT_I_H |
#include <xdeint_i.h>
Prevent circular inclusions by using protection macros.
#define XDEINT_IER_OFFSET 0x008 |
#include <xdeint_hw.h>
Interrupt Enable Control.
#define XDeint_InReset | ( | InstancePtr | ) |
#include <xdeint.h>
This macro returns the current soft-reset state.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDeint_IntrClear | ( | InstancePtr, | |
IntrType | |||
) |
#include <xdeint.h>
This macro clears/acknowledges pending interrupts of the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
IntrType | is the pending interrupts to clear/acknowledge. Use OR'ing of XDEINT_IXR_*_MASK constants defined in xdeint_hw.h to create this parameter value. |
Referenced by XDeint_IntrHandler().
#define XDeint_IntrDisable | ( | InstancePtr, | |
IntrType | |||
) |
#include <xdeint.h>
This macro disables the given individual interrupt(s) on the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
IntrType | is the bit-mask of the interrupts to be enabled. Bit positions of 1 will be disabled. Bit post ions of 0 will keep the previous setting.This mask is formed by OR'ing XDEINT_IXR_*_MASK constants defined in xdeint_hw.h to create this parameter value. |
C-style signature: void XDeint_IntrDisable(XDeint *InstancePtr, u32 IntrType)
#define XDeint_IntrEnable | ( | InstancePtr, | |
IntrType | |||
) |
#include <xdeint.h>
This macro enables the given individual interrupt(s) on the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
IntrType | is the bit-mask of the interrupts to be enabled. Bit positions of 1 will be enabled. Bit post ions of 0 will keep the previous setting.This mask is formed by OR'ing XDEINT_IXR_*_MASK constants defined in xdeint_hw.h to create this parameter value. |
C-style signature: void XDeint_IntrEnable(XDeint *InstancePtr, u32 IntrType)
#define XDeint_IntrGetPending | ( | InstancePtr | ) |
#include <xdeint.h>
This macro returns the pending interrupts of the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
Referenced by XDeint_IntrHandler().
#define XDEINT_ISR_OFFSET 0x00C |
#include <xdeint_hw.h>
Interrupt Enable Status.
#define XDEINT_IXR_ALLINTR_MASK |
#include <xdeint_hw.h>
Mask for all interrupts.
#define XDEINT_IXR_ERROR_MASK 0x00000008 |
#include <xdeint_hw.h>
Deinterlacer internal FIFO error.
#define XDEINT_IXR_FRAME_MASK 0x00000040 |
#include <xdeint_hw.h>
Frame Tick.
#define XDEINT_IXR_FS_CFG_ERROR_MASK 0x00000100 |
#include <xdeint_hw.h>
Frame store Write setup error.
#define XDEINT_IXR_FS_RD_FIELD_ERROR_MASK 0x00000400 |
#include <xdeint_hw.h>
Frame store Read Field under run.
#define XDEINT_IXR_FS_RD_FRAME_ERROR_MASK 0x00000800 |
#include <xdeint_hw.h>
Frame store Read Frame under run.
#define XDEINT_IXR_FS_WR_ERROR_MASK 0x00000200 |
#include <xdeint_hw.h>
Frame store Write FIFO overflow.
#define XDEINT_IXR_LOCKED_MASK 0x00000002 |
#include <xdeint_hw.h>
Deinterlacer is locked to incoming video.
#define XDEINT_IXR_PULL_OFF_MASK 0x00000020 |
#include <xdeint_hw.h>
Pull down cancelled.
#define XDEINT_IXR_PULL_ON_MASK 0x00000010 |
#include <xdeint_hw.h>
Pull down activated.
#define XDEINT_IXR_UNLOCKED_MASK 0x00000004 |
#include <xdeint_hw.h>
Deinterlacer has lost lock to incoming video.
#define XDEINT_IXR_UPDATE_MASK 0x00000001 |
#include <xdeint_hw.h>
Internal Register update done.
#define XDEINT_MODE_ALGORITHM_0 0x00000001 |
#include <xdeint_hw.h>
Deinterlacer algorithm.
#define XDEINT_MODE_ALGORITHM_1 0x00000002 |
#include <xdeint_hw.h>
Deinterlacer algorithm.
#define XDEINT_MODE_ALGORITHM_DIAG 0x00000001 |
#include <xdeint_hw.h>
Deinterlacer algorithm option 1.
#define XDEINT_MODE_ALGORITHM_FULL 0x00000003 |
#include <xdeint_hw.h>
Deinterlacer algorithm option 3.
#define XDEINT_MODE_ALGORITHM_MASK 0x00000003 |
#include <xdeint_hw.h>
Deinterlacer algorithm.
#define XDEINT_MODE_ALGORITHM_MOTION 0x00000002 |
#include <xdeint_hw.h>
Deinterlacer algorithm option 2.
#define XDEINT_MODE_ALGORITHM_RAW 0x00000000 |
#include <xdeint_hw.h>
Deinterlacer algorithm option 0.
#define XDEINT_MODE_COL 0x00000004 |
#include <xdeint_hw.h>
Color Space.
#define XDEINT_MODE_COL_MASK 0x00000004 |
#define XDEINT_MODE_COLOUR_RGB 0x00000004 |
#include <xdeint_hw.h>
Deinterlacer color space.
#define XDEINT_MODE_COLOUR_YUV 0x00000000 |
#include <xdeint_hw.h>
Deinterlacer color space.
#define XDEINT_MODE_FIELD_EVEN_FIRST 0x00000020 |
#include <xdeint_hw.h>
First field of frame contains even video lines.
#define XDEINT_MODE_FIELD_ODD_FIRST 0x00000000 |
#include <xdeint_hw.h>
First field of frame contains odd video lines.
#define XDEINT_MODE_FIELD_ORDER 0x00000020 |
#include <xdeint_hw.h>
First field order.
#define XDEINT_MODE_FIELD_ORDER_MASK 0x00000020 |
#define XDEINT_MODE_OFFSET 0x004 |
#include <xdeint_hw.h>
Deinterlacer internal Modes.
Referenced by XDeint_GetPulldown(), XDeint_GetVideo(), XDeint_SetPulldown(), and XDeint_SetVideo().
#define XDEINT_MODE_PACKING_0 0x00000008 |
#include <xdeint_hw.h>
XSVI Packing.
#define XDEINT_MODE_PACKING_1 0x00000010 |
#include <xdeint_hw.h>
XSVI Packing.
#define XDEINT_MODE_PACKING_420 0x00000000 |
#include <xdeint_hw.h>
XSVI Packing mode 420.
#define XDEINT_MODE_PACKING_422 0x00000008 |
#include <xdeint_hw.h>
XSVI Packing mode 422.
#define XDEINT_MODE_PACKING_444 0x00000010 |
#include <xdeint_hw.h>
XSVI Packing mode 444.
#define XDEINT_MODE_PACKING_MASK 0x00000018 |
#define XDEINT_MODE_PSF_ENABLE 0x00000040 |
#include <xdeint_hw.h>
PSF pass through enable.
#define XDEINT_MODE_PSF_ENABLE_MASK 0x00000040 |
#include <xdeint_hw.h>
PSF pass through enable.
Referenced by XDeint_GetVideo(), and XDeint_SetVideo().
#define XDEINT_MODE_PULL_22_ENABLE 0x00000100 |
#include <xdeint_hw.h>
Pull down 2:2 control enable.
Referenced by XDeint_GetPulldown(), and XDeint_SetPulldown().
#define XDEINT_MODE_PULL_22_FIELDP 0x00000200 |
#include <xdeint_hw.h>
Pull down 2:2 Field Precedence.
#define XDEINT_MODE_PULL_32_ENABLE 0x00000080 |
#include <xdeint_hw.h>
Pull down 3:2 control enable.
Referenced by XDeint_GetPulldown(), and XDeint_SetPulldown().
#define XDEINT_MODE_PULL_ENABLE_MASK 0x00000180 |
#include <xdeint_hw.h>
Pull down control enable.
#define XDeint_ReadReg | ( | BaseAddress, | |
RegOffset | |||
) | XDeint_In32((BaseAddress) + (u32)(RegOffset)) |
#include <xdeint_hw.h>
This macro reads the given register.
BaseAddress | is the base address of the core. |
RegOffset | is the register offset to be read. |
Referenced by XDeint_GetFramestore(), XDeint_GetPulldown(), XDeint_GetSize(), XDeint_GetThresholds(), XDeint_GetVersion(), XDeint_GetVideo(), XDeint_Selftest(), XDeint_SetPulldown(), and XDeint_SetVideo().
#define XDeint_RegUpdateReq | ( | InstancePtr | ) |
#include <xdeint.h>
This macro tells the Deinterlacer core to pick up all the register value changes made so far by the software at the next frame boundary.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDeint_Reset | ( | InstancePtr | ) |
#include <xdeint.h>
This macro soft resets the Deinterlacer to its default mode.
This register will clear once the reset is complete. Software should poll here until the reset has completed. NOTE : Attempting to alter CPU registers during a soft reset will result in no register changes due to the CPU interface being reset.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDEINT_RESET_OFFSET 0x100 |
#include <xdeint_hw.h>
Soft Reset.
#define XDEINT_RESET_RESET_MASK 0x00000001 |
#include <xdeint_hw.h>
Software Reset.
#define XDeint_SetAlgorithm | ( | InstancePtr, | |
Alg | |||
) |
#include <xdeint.h>
This macro sets the Deinterlacer's processing algorithm.
InstancePtr | is a pointer to XDeint instance to be worked on. |
Alg | is a algorithm setting from XDEINT_MODE_ALGORITHM_???? |
@note C-style signature: void XDeint_SetAlgorithm(XDeint *InstancePtr, u32 Alg)
#define XDeint_SetRGB | ( | InstancePtr | ) |
#include <xdeint.h>
This macro sets the Deinterlacer's color space to RGB.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDeint_SetYUV | ( | InstancePtr | ) |
#include <xdeint.h>
This macro sets the Deinterlacer's color space to YUV.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDeint_Start | ( | InstancePtr | ) |
#include <xdeint.h>
This macro enables the Deinterlacer core to accept video.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDeint_Stop | ( | InstancePtr | ) |
#include <xdeint.h>
This macro halts the Deinterlacer core on the next frame boundary.
InstancePtr | is a pointer to XDeint instance to be worked on. |
#define XDEINT_STS_ERROR 0x00000008 |
#include <xdeint_hw.h>
Deinterlacer internal FIFO error.
#define XDEINT_STS_FS_CFG_ERROR 0x00000100 |
#include <xdeint_hw.h>
Frame store Write setup error.
#define XDEINT_STS_FS_RD_FIELD_ERROR 0x00000400 |
#include <xdeint_hw.h>
Frame store Read Field under run.
#define XDEINT_STS_FS_RD_FRAME_ERROR 0x00000800 |
#include <xdeint_hw.h>
Frame store Read Frame under run.
#define XDEINT_STS_FS_WR_ERROR 0x00000200 |
#include <xdeint_hw.h>
Frame store Write FIFO overflow.
#define XDEINT_THRESH1_OFFSET 0x018 |
#include <xdeint_hw.h>
T1 Threshold.
Referenced by XDeint_GetThresholds(), and XDeint_SetThresholds().
#define XDEINT_THRESH2_OFFSET 0x01C |
#include <xdeint_hw.h>
T2 Threshold.
Referenced by XDeint_GetThresholds(), and XDeint_SetThresholds().
#define XDEINT_THRESHOLD_MASK 0x000003FF |
#define XDEINT_VER_MAJOR_MASK 0xFF000000 |
#include <xdeint_hw.h>
Major Version.
#define XDEINT_VER_MAJOR_SHIFT 24 |
#include <xdeint_hw.h>
Major Bit Shift.
#define XDEINT_VER_MINOR_MASK 0x00F00000 |
#include <xdeint_hw.h>
Minor Version.
#define XDEINT_VER_MINOR_SHIFT 20 |
#include <xdeint_hw.h>
Minor Bit Shift.
#define XDEINT_VER_OFFSET 0x0F0 |
#include <xdeint_hw.h>
Hardware Version ID.
Referenced by XDeint_GetVersion(), and XDeint_Selftest().
#define XDEINT_VER_REV_MASK 0x000F0000 |
#include <xdeint_hw.h>
Revision Version.
#define XDEINT_VER_REV_SHIFT 16 |
#include <xdeint_hw.h>
Revision Bit Shift.
#define XDEINT_WIDTH_MASK 0x000007FF |
#define XDEINT_WIDTH_OFFSET 0x014 |
#define XDeint_WriteReg | ( | BaseAddress, | |
RegOffset, | |||
Data | |||
) | XDeint_Out32((BaseAddress) + (u32)(RegOffset), (Data)) |
#include <xdeint_hw.h>
This macro writes the given register.
BaseAddress | is the base address of the core. |
RegOffset | is the register offset to be written. |
Data | is the 32-bit value to write to the register. |
Referenced by XDeint_SetFramestore(), XDeint_SetPulldown(), XDeint_SetSize(), XDeint_SetThresholds(), and XDeint_SetVideo().
#define XDEINT_XFADE_MASK 0x0000FFFF |
#include <xdeint_hw.h>
Deinterlacer Cross fade cycle.
#define XDEINT_XFADE_OFFSET 0x020 |
typedef void(* XDeint_CallBack) (u32 status) |
#include <xdeint.h>
Callback type for all interrupts.
int XDeint_ConfigInitialize | ( | XDeint * | InstancePtr, |
XDeint_Config * | CfgPtr, | ||
u32 | EffectiveAddr | ||
) |
#include <xdeint.c>
This function initializes the Deinterlacer core.
This function must be called prior to using a Deinterlacer core. Initialization of the Deinterlacer includes setting up the instance data, and ensuring the hardware is in a quiescent state.
InstancePtr | is a pointer to XDeint instance to be worked on. |
CfgPtr | points to the configuration structure associated with the Deinterlacer core. |
EffectiveAddr | is the base address of the core. If address translation is being used, then this parameter must reflect the virtual base address. Otherwise, the physical address should be used. |
References XDeint_Config::BaseAddress, XDeint::Config, and XDeint::IntCallBack.
Referenced by XDeintSelfTestExample().
void XDeint_GetFramestore | ( | XDeint * | InstancePtr, |
u32 * | FieldAddr1, | ||
u32 * | FieldAddr2, | ||
u32 * | FieldAddr3, | ||
u32 * | FrameSize | ||
) |
#include <xdeint.c>
This function gets input field buffer addresses of an Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
FieldAddr1 | is the pointer to the 1st input field buffer. |
FieldAddr2 | is the pointer to the 2nd input field buffer. |
FieldAddr3 | is the pointer to the 3rd input field buffer. |
FrameSize | is the pointer to size in 32bit words of a single field buffer. |
References XDeint::IsReady, XDEINT_BUFFER0_OFFSET, XDEINT_BUFFER1_OFFSET, XDEINT_BUFFER2_OFFSET, XDEINT_BUFSIZE_OFFSET, and XDeint_ReadReg.
void XDeint_GetPulldown | ( | XDeint * | InstancePtr, |
u32 * | Enable_32, | ||
u32 * | Enable_22 | ||
) |
#include <xdeint.c>
This function gets the pull down controller of the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
Enable_32 | is a pointer which holds status of Enable_32 mode.
|
Enable_22 | is a pointer which holds status of Enable_22 mode.
|
References XDeint::IsReady, XDEINT_MODE_OFFSET, XDEINT_MODE_PULL_22_ENABLE, XDEINT_MODE_PULL_32_ENABLE, and XDeint_ReadReg.
void XDeint_GetSize | ( | XDeint * | InstancePtr, |
u32 * | Width, | ||
u32 * | Height | ||
) |
#include <xdeint.c>
This function gets the input frame size of the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
Width | is pointer to the width of the frame. |
Height | is pointer to the height of the frame. |
References XDeint::IsReady, XDEINT_HEIGHT_MASK, XDEINT_HEIGHT_OFFSET, XDeint_ReadReg, XDEINT_WIDTH_MASK, and XDEINT_WIDTH_OFFSET.
void XDeint_GetThresholds | ( | XDeint * | InstancePtr, |
u32 * | ThresholdT1, | ||
u32 * | ThresholdT2 | ||
) |
#include <xdeint.c>
This function gets the threshold used by the motion adaptive kernel.
InstancePtr | is a pointer to XDeint instance to be worked on. |
ThresholdT1 | is the pointer to lower threshold of the motion kernel. |
ThresholdT2 | is the pointer to upper threshold of the motion kernel. |
References XDeint::IsReady, XDeint_ReadReg, XDEINT_THRESH1_OFFSET, XDEINT_THRESH2_OFFSET, and XDEINT_THRESHOLD_MASK.
u32 XDeint_GetVersion | ( | XDeint * | InstancePtr | ) |
#include <xdeint.c>
This function returns the contents of Version register.
InstancePtr | is a pointer to XDeint instance to be worked on. |
References XDeint_Config::BaseAddress, XDeint::Config, XDeint_ReadReg, and XDEINT_VER_OFFSET.
void XDeint_GetVideo | ( | XDeint * | InstancePtr, |
u32 * | Packing, | ||
u32 * | Color, | ||
u32 * | Order, | ||
u32 * | PSF | ||
) |
#include <xdeint.c>
This function gets the video format of the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
Packing | is a pointer to 32 bit variable which holds Packaging format.
|
Color | is a pointer to 32 bit varaible which holds color value.
|
Order | is a pointer to 32 bit varaible which holds Field order.
|
PSF | is a pointer to 32 bit variable which says whether Psf enabled or disabled.
|
References XDeint::IsReady, XDEINT_MODE_COL_MASK, XDEINT_MODE_FIELD_ORDER_MASK, XDEINT_MODE_OFFSET, XDEINT_MODE_PACKING_MASK, XDEINT_MODE_PSF_ENABLE_MASK, and XDeint_ReadReg.
void XDeint_IntrHandler | ( | void * | InstancePtr | ) |
#include <xdeint.h>
This function is the interrupt handler for the Deinterlacer core.
This handler reads the pending interrupt from the IER/ISR, determines the source of the interrupts, calls according callback, and finally clears the interrupts.
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 XDeint_SetCallBack() during initialization phase.
InstancePtr | is a pointer to XDeint instance to be worked on. |
References XDeint::IntCallBack, XDeint::IsReady, XDeint_IntrClear, and XDeint_IntrGetPending.
XDeint_Config * XDeint_LookupConfig | ( | u16 | DeviceId | ) |
#include <xdeint.h>
This function returns a reference to an XDeint_Config structure based on the unique device id, DeviceId.
The return value will refer to an entry in the device configuration table defined in the xdeint_g.c file.
DeviceId | is the unique device ID of the device for the lookup operation. |
References XDeint_ConfigTable.
Referenced by XDeintSelfTestExample().
int XDeint_Selftest | ( | XDeint * | InstancePtr | ) |
#include <xdeint.h>
This function reads Version register of Deinterlacer core and compares with zero as part of self test.
InstancePtr | is a pointer to XDeint instance to be worked on. |
References XDeint_ReadReg, and XDEINT_VER_OFFSET.
Referenced by XDeintSelfTestExample().
int XDeint_SetCallBack | ( | XDeint * | InstancePtr, |
void * | CallBackFunc | ||
) |
#include <xdeint.h>
This routine installs an asynchronous callback function.
InstancePtr | is a pointer to XDeint instance to be worked on. |
CallBackFunc | is the address of the callback function. |
References XDeint::IntCallBack, and XDeint::IsReady.
void XDeint_SetFramestore | ( | XDeint * | InstancePtr, |
u32 | FieldAddr1, | ||
u32 | FieldAddr2, | ||
u32 | FieldAddr3, | ||
u32 | FrameSize | ||
) |
#include <xdeint.c>
This function sets the input field buffer addresses of the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
FieldAddr1 | is the address of the 1st input field buffer. |
FieldAddr2 | is the address of the 2nd input field buffer. |
FieldAddr3 | is the address of the 3rd input field buffer. |
FrameSize | is the size in 32bit words of a single field buffer. |
References XDeint::IsReady, XDEINT_BUFFER0_OFFSET, XDEINT_BUFFER1_OFFSET, XDEINT_BUFFER2_OFFSET, XDEINT_BUFSIZE_OFFSET, and XDeint_WriteReg.
void XDeint_SetPulldown | ( | XDeint * | InstancePtr, |
u32 | Enable_32, | ||
u32 | Enable_22 | ||
) |
#include <xdeint.c>
This function sets the pull down controller of the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
Enable_32 | allows detectors to automatically control Deinterlacer core.
|
Enable_22 | allows detectors to automatically control Deinterlacer core.
|
References XDeint::IsReady, XDEINT_MODE_OFFSET, XDEINT_MODE_PULL_22_ENABLE, XDEINT_MODE_PULL_32_ENABLE, XDeint_ReadReg, and XDeint_WriteReg.
void XDeint_SetSize | ( | XDeint * | InstancePtr, |
u32 | Width, | ||
u32 | Height | ||
) |
#include <xdeint.c>
This function sets the input frame size of the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
Width | is the width of the frame. |
Height | is the height of the frame. |
References XDeint::IsReady, XDEINT_HEIGHT_OFFSET, XDEINT_WIDTH_OFFSET, and XDeint_WriteReg.
void XDeint_SetThresholds | ( | XDeint * | InstancePtr, |
u32 | ThresholdT1, | ||
u32 | ThresholdT2 | ||
) |
#include <xdeint.c>
This function sets the threshold used by the motion adaptive kernel of the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
ThresholdT1 | is the lower threshold of the motion kernel. |
ThresholdT2 | is the upper threshold of the motion kernel. |
References XDeint::IsReady, XDEINT_FADE_RATIO, XDEINT_THRESH1_OFFSET, XDEINT_THRESH2_OFFSET, XDeint_WriteReg, and XDEINT_XFADE_OFFSET.
void XDeint_SetVideo | ( | XDeint * | InstancePtr, |
u32 | Packing, | ||
u32 | Color, | ||
u32 | Order, | ||
u32 | PSF | ||
) |
#include <xdeint.c>
This function sets the video format of the Deinterlacer core.
InstancePtr | is a pointer to XDeint instance to be worked on. |
Packing | selects the XSVI video packing mode.
|
Color | selects what color space to use.
|
Order | selects which field ordering is being used.
|
PSF | enables psf (progressive segmented frame mode).
|
References XDeint::IsReady, XDEINT_MODE_COL_MASK, XDEINT_MODE_FIELD_ORDER_MASK, XDEINT_MODE_OFFSET, XDEINT_MODE_PACKING_MASK, XDEINT_MODE_PSF_ENABLE_MASK, XDeint_ReadReg, and XDeint_WriteReg.
XDeint_Config XDeint_ConfigTable[] |
#include <xdeint_g.c>
The configuration table for Video Deinterlacers devices.
Referenced by XDeint_LookupConfig().