embeddedsw/XilinxProcessorIPLib/drivers/scaler/doc/html/api/index.html

109 lines
7.5 KiB
HTML
Raw Normal View History

<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&nbsp;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 &amp; 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.