This header file contains identifiers and register-level driver functions (or macros), that can be used to access the Xilinx Chroma Resampler (Cresample) core instance.<p>
The Chroma Resampler core converts between chroma sub-sampling formats of 4:4:4, 4:2:2,and 4:2:0. There are a total of six conversions available for the three supported sub-sampling formats. Conversion is achieved using a FIR filter approach. Some conversions require filtering in only the horizontal dimension, only the vertical dimension, or both. Interpolation operations are implemented using a two-phase polyphase FIR filter. Decimation operations are implemented using a low-pass FIR filter to suppress chroma aliasing.<p>
Features of Chroma Resampler core are<ul>
<li>Configurable filters sizes with programmable filter coefficients for high performance applications.</li><li>Replicate or drop pixels.</li><li>Static, predefined, powers-of-two coefficients for low-footprint applications</li><li>Converts between YCbCr: 4:4:4, 4:2:2,and 4:2:0.</li><li>Supports both progressive and interlaced video.</li></ul>
<p>
<b>Initialization & Configuration</b><p>
The device driver enables higher layer software (e.g., an application) to communicate to the Cresample core.<p>
<aclass="el"href="xcresample_8c.html#386a0f9c22e6409060fd966a66d8aa66">XCresample_CfgInitialize()</a> API is used to initialize the Cresample core. The user needs to first call the <aclass="el"href="xcresample_8h.html#5a31b77d26816fa1c1b5b37ff46207f6">XCresample_LookupConfig()</a> API which returns the Configuration structure pointer which is passed as a parameter to the <aclass="el"href="xcresample_8c.html#386a0f9c22e6409060fd966a66d8aa66">XCresample_CfgInitialize()</a> API.<p>
<b> Interrupts </b><p>
The driver provides an interrupt handler XCresample_IntrHandler for handling the interrupt from the Cresample core. The users of this driver have to register this handler with the interrupt system and provide the callback functions by using XCresample_SetCallBack API.<p>
<b> Virtual Memory </b><p>
This driver supports Virtual Memory. The RTOS is responsible for calculating the correct device base address in Virtual Memory space.<p>
<b> Threads </b><p>
This driver is not thread safe. Any needs for threads or thread mutual exclusion must be satisfied by the layer above this driver.<p>
<b> Asserts </b><p>
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.<p>
<b> Building the driver </b><p>
The Cresample driver is composed of several source files. This allows the user to build and link only those parts of the driver that are necessary.*<p>
<aclass="el"href="struct_x_cresample___config.html">XCresample_Config</a> and <aclass="el"href="struct_x_cresample.html">XCresample</a> of Chroma Resampler.</pre><p>