This header file contains identifiers and register-level driver functions (or macros), range macros, structure typedefs that can be used to access the Image Statistic core instance.
The Image Enhancement core offers noise reduction and/or edge enhancement. For edge enhancement, optional anti-halo and anti-alias post-processing modules are available to reduce image artifacts that can appear from the high-pass filtering of the edge enhancement filters. The amount of noise reduction and edge enhancement is controlled through user parameters. There are two variations of the algorithm offered to choose between high performance and minimal resource usage. This core works on YCbCr 4:4:4 and 4:2:2 data. The core is capable of a maximum resolution of 7680 columns by 7680 rows with 8, 10, 12, or 16 bits per pixel and supports the bandwidth necessary for High-definition (1080p60) resolutions in all Xilinx FPGA device families. Higher resolutions can be supported in Xilinx high-performance device families.
Initialization & Configuration
The device driver enables higher layer software (e.g., an application) to communicate to the Enhance core.
XEnhance_CfgInitialize() API is used to initialize the Enhance core. The user needs to first call the XEnhance_LookupConfig() API which returns the Configuration structure pointer which is passed as a parameter to the XEnhance_CfgInitialize() API.
Interrupts
The driver provides an interrupt handler XEnhance_IntrHandler for handling the interrupt from the Enhance core. The users of this driver have to register this handler with the interrupt system and provide the callback functions by using XEnhance_SetCallBack API.
Virtual Memory
This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.
Threads
This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.
Asserts
Asserts are used within all Xilinx drivers to enforce constraints on argument values. Asserts can be turned off on a system-wide basis by defining, at compile time, the NDEBUG identifier. By default, asserts are turned on and it is recommended that users leave asserts on during development.
Building the driver
The XEnhance driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.
MODIFICATION HISTORY:
Ver Who Date Changes ----- ---- -------- ----------------------------------------------------- 2.00a vc 12/14/10 Updated for ENHANCE V2.0 3.00a rc 09/11/11 Updated for ENHANCE V3.0 4.00a vyc 04/24/12 Updated for ENHANCE V4.00.a Converted from xio.h to xil_io.h, translating basic type, MB cache functions, exceptions and assertion to xil_io format. 5.00a vyc 06/19/13 Updated for ENHANCE V8.0 New edge enhancement algorithm and registers Noise reduction support added 6.0 adk 19/12/13 Updated as per the New Tcl API's 7.0 adk 02/19/14 Changed the filename from enhance.h to xenhance.h. Changes in xenhance.h: Removed the following macros ENHANCE_Enable, ENHANCE_Disable, ENHANCE_RegUpdateEnable, ENHANCE_RegUpdateDisable, ENHANCE_Reset, ENHANCE_AutoSyncReset
Added the following function macros XEnhance_Enable, XEnhance_Disable, XEnhance_RegUpdateDisable, XEnhance_RegUpdateDisable XEnhance_Reset, XEnhance_SyncReset, XEnhance_IntrEnable XEnhance_IntrDisable, XEnhance_StatusGetPending XEnhance_IntrGetPending, XEnhance_IntrClear
Added the following type definitions: XEnhance_Config and XEnhance structures. XEnhance_CallBack and XEnhance_ErrorCallBack.
Changes in xenhance.c: Modified the following functions XENHANCE_CfgInitialize -> XEnhance_CfgInitialize XENHANCE_Setup -> XEnhance_Setup
Implemented the following functions: XEnhance_CfgInitialize, XEnhance_Setup, XEnhance_GetVersion, XEnhance_EnableDbgByPass, XEnhance_IsDbgByPassEnabled, XEnhance_DisableDbgBypass XEnhance_EnableDbgTestPattern, XEnhance_IsDbgTestPatternEnabled XEnhance_DisableDbgTestPattern XEnhance_GetDbgFrameCount, XEnhance_GetDbgLineCount, XEnhance_GetDbgPixelCount, XEnhance_SetActiveSize, XEnhance_GetActiveSize, XEnhance_SetNoiseThreshold, XEnhance_GetNoiseThreshold, XEnhance_SetEdgeStrength, XEnhance_GetEdgeStrength, XEnhance_SetHaloSuppress XEnhance_GetHaloSuppress.
Changes in xenhance_hw.h: Added the register offsets and bit masks for the registers and added backward compatibility for macros.
Changes in xenhance_intr.c: Implemented the following functions XEnhance_IntrHandler XEnhance_SetCallBack
Changes in xenhance_sinit.c: Implemented the following function XEnhance_LookupConfig
Changes in xenhance_selftest.c: Implemented the following function XEnhance_SelfTestCopyright @ 1995-2014 Xilinx, Inc. All rights reserved.