<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title> scaler </title> <link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css"> </head> <h3 class="PageHeader">Xilinx Processor IP Library</h3> <hl>Software Drivers</hl> <hr class="whs1"> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li id="current"><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul></div> <h1>scaler</h1> <p> This is the main header file of the Xilinx MVI Video Scaler device driver. The Scaler device converts a specified rectangular area of an input digital video image from one original sampling grid to a desired target sampling grid.<p> Video Scaler Device v3.00a features are as follows:<p> <ul> <li>Target Clock Frequencies:<ul> <li>S3ADSP(-4), S6(-2) Families: 150MHz</li><li>V5(-1), V6(-1) Families: 225MHz</li></ul> </li><li>8, 10 or 12-bit video data supported</li><li>YC (4:2:2), YC (4:2:0), RGB (4:4:4) chroma formats supported</li><li>1080P/60 supported for 4:2:2 and 4:4:4 (RGB formats (not 4:2:0)</li><li>Serial or parallel options (single or multiple filter engines) available to suit high or low bandwidth requirements</li><li>Supports spatial resolutions up to 4096x4096</li><li>2-12 taps per dimension</li><li>Up to 16 user-loadable sets of 16-bit coefficients</li><li>Up to 64 phases per coefficient set</li><li>16-bit intermediate bitwidth</li><li>Programmable (dynamic) scaling factor in both H and V dimensions<ul> <li>Max 12x resolution change either up or down ~V allows for conversion between QCIF and 1080p</li><li>24-bit input fixed point scaling factors: 4 bits integer, 20-bit fraction</li></ul> </li><li>Independent H and V scaling factors</li><li>Optional coefficient sharing between Y and C filter operations (where appropriate)</li><li>Optional coefficient sharing between H and V filter operations (where appropriate)</li><li>Programmable (dynamic) start phase (independent H, V start-phase values), range -0.99 to +0.99</li><li>Programmable (dynamic) subject area size</li><li>Programmable (dynamic) target area size</li><li>Coefficient set selectable during operation (eg on V-sync)</li><li>Coefficient range -2.0 to +1.99</li><li>3 Control interface options<ul> <li>pCore, with drivers</li><li>General Purpose Processor GPP</li><li>Constant</li></ul> </li><li>Coefficient preload (via .coe file) functionality for all above modes.</li><li>Full EDK GUI for scaler customization under XPS</li><li>2 Video interface options<ul> <li>Live video source</li><li>Memory source</li></ul> </li><li>Interrupts</li></ul> <p> For a full description of Scaler features, please see the hardware spec.<p> An example is shipped with the driver to demonstrate how to use the APIs this driver provides to access and control the Video Scaler device.<p> <b>Limitation</b><p> <ul> <li>Function XScaler_CalcCoeffs() only calculates coefficient values if this driver is *NOT* used on Linux platform. In Linux case, the math library is not available in the kernel and this function only clears the coefficient buffer passed in.</li></ul> <p> <pre> MODIFICATION HISTORY:</pre><p> <pre> Ver Who Date Changes ----- ------ -------- ------------------------------------------------------- 1.00a xd 05/14/09 First release 2.00a xd 12/14/09 Updated Doxygen document tags 3.00a xd 07/29/10 Added core version & sharable coefficient bank support 6.0 adk 12/19/13 Updated as per the New Tcl API's 7.0 adk 08/22/14 Removed XSCL_HANDLER_ERROR and XSCL_HANDLER_EVENT macros. Removed ErrorCallBack and its ref ErrorRef from <a class="el" href="struct_x_scaler.html">XScaler</a> structure. Modified EventCallBack as CallBack and EventRef as CallBackRef. Modified XSCL_STSDONE to XSCL_STATUS_OFFSET, XSCL_STS to XSCL_STATUS_OFFSET, XSCL_STSERR to XSCL_ERROR_OFFSET. Removed the following functional macros XScaler_IntrGetPending, XScaler_IntrEnableGlobal and XScaler_IntrDisableGlobal. uncommented interrupt related macros. Modified prototypes of the following functions by removing IntrType parameter as there was only one interrupt :XScaler_IntrEnable, XScaler_IntrDisable and XScaler_IntrClear.</pre><p> <pre> Modifications from xscalar_hw.h file are: Appended register offset macros with _OFFSET and Bit definition with _MASK. Provided backward compatibility for changed macros. Defined the following macros XSCL_CTL_MEMRD_EN_MASK. Modified XSCL_CTL_ENABLE to XSCL_CTL_SW_EN_MASK, XSCL_RESET_RESET_MASK to XSCL_CTL_RESET_MASK, XSCL_CTL_REGUPDATE to XSCL_CTL_RUE_MASK, XSCL_STSDONE_DONE and XSCL_STS_COEF_W_RDY_MASK to XSCL_IXR_COEF_W_RDY_MASK. Added XSCL_ERR_*_MASK s. Removed XSCL_GIER_GIE_MASK. Removed following macros as they were not defined in latest product guide(v 8.1): XSCL_STSERR_CODE*_MASK, XSCL_IXR_OUTPUT_FRAME_DONE_MASK, XSCL_IXR_COEF_FIFO_READY_MASK, XSCL_IXR_INPUT_ERROR_MASK XSCL_IXR_COEF_WR_ERROR_MASK, XSCL_IXR_REG_UPDATE_DONE_MASK, XSCL_IXR_OUTPUT_ERROR_MASK, XSCL_IXR_EVENT_MASK, XSCL_IXR_ERROR_MASK, XSCL_IXR_ALLINTR_MASK, XSCL_HSF_INT_MASK, XSCL_VSF_INT_MASK, XSCL_COEFFVALUE_BASE_SHIFT and XSCL_COEFVALUE_BASE_MASK. Modified bits of the following macros: XSCL_HSF_FRAC_MASK and XSCL_VSF_FRAC_MASK.</pre><p> <pre> Modifications from xscalar.c file are: Modified prototype of XScaler_GetVersion API. and functionality of StubCallBack. Modified assert conditions in functions XScaler_CfgInitialize, XScaler_SetPhaseNum, XScaler_LoadCoeffBank. Removed error callback from XScaler_CfgInitialize function. Uncommented XScaler_Reset in XScaler_CfgInitialize function.</pre><p> <pre> Modifications from file xscalar_coefs.c file are Removed typedef unsigned short s16 as it was already defined in xil_types.h. Modified <a class="el" href="structcoefs__struct.html">coefs_struct</a> to Coefs_Struct. Updated doxygen document tags. XScaler_coef_table is made as a global variable. Memory allocated was freed after usage.</pre><p> <pre> Modifications from xscalar_intr.c file are XScaler_IntrHandler and XScaler_SetCallBack APIs were modified</pre><p> <pre> Added XScaler_LookupConfig in xscalar_sinit.c file and</pre><p> <pre> </pre> Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.