108 lines
7.5 KiB
HTML
Executable file
108 lines
7.5 KiB
HTML
Executable file
<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.
|