embeddedsw/XilinxProcessorIPLib/drivers/enhance/doc/html/api/xenhance_8c.html
Shravan Kumar A 3e69599b57 enhance: Added files to enhance driver.
Added source files, integration files, self test example,
mdd and tcl files to enhance driver.

Signed-off-by: Shravan Kumar A <skumara@xilinx.com>
Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
Acked-by: Srikanth Vemula <svemula@xilinx.com>
2014-09-02 11:21:00 +05:30

751 lines
38 KiB
HTML

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
xenhance.c File Reference
</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><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xenhance.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This file contains the implementation of the interface functions for Enhance core. Refer to the header file <a class="el" href="xenhance_8h.html">xenhance.h</a> for more detailed information.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> 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.c to <a class="el" href="xenhance_8c.html">xenhance.c</a>.
Modified the following functions
XENHANCE_CfgInitialize -&gt; XEnhance_CfgInitialize
XENHANCE_Setup -&gt; XEnhance_Setup</pre><p>
<pre> Implemented the following functions:
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.
</pre>
<p>
<code>#include &quot;<a class="el" href="xenhance_8h.html">xenhance.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#27bf67acc10edaf9c34060974b8a60a5">XEnhance_CfgInitialize</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, <a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a> *CfgPtr, u32 EffectiveAddr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#531bc8c50a3385af70d135675919769f">XEnhance_Setup</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#244a1d9a2f84fe3d2dfdcd19e60a3d70">XEnhance_EnableDbgByPass</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#6572dfd0d09a9b491bc45e05df4a74c5">XEnhance_IsDbgByPassEnabled</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#4bceb204520f19beff700f3101f1497b">XEnhance_DisableDbgBypass</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#a39c61253de334d022e9eef05d0510f4">XEnhance_EnableDbgTestPattern</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#d88dee1a3cd8e22e3bc96b20387b58b5">XEnhance_IsDbgTestPatternEnabled</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#847ee28cb905bff86e3554134bd06517">XEnhance_DisableDbgTestPattern</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#ba71113132fe89427be60fa11b0ec4c6">XEnhance_GetVersion</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#37bb7f8519e16cd40f0786f2bb2426b3">XEnhance_GetDbgFrameCount</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#5b27e04a98b4dc982d8e810a10b4323c">XEnhance_GetDbgLineCount</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#b290cab23614f98bacb8962d71bbcd3a">XEnhance_GetDbgPixelCount</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#97a2877a659d458b2bfb6c32343f0965">XEnhance_SetActiveSize</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u16 HSize, u16 VSize)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#da3d94dd800e68dd33c3bd7d2d944e58">XEnhance_GetActiveSize</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u16 *HSize, u16 *VSize)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#902482d8dd1f121091d5fd607b5c5c27">XEnhance_SetNoiseThreshold</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u32 Threshold)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#9bf6d4c23a24ab84dce597b40a775c55">XEnhance_GetNoiseThreshold</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#988ff7bd55a8d3835c149533d587e140">XEnhance_SetEdgeStrength</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u32 Strength)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#092895c216029e0a46a2374137a57ac4">XEnhance_GetEdgeStrength</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#6ab6a95117eb6829927e8d3ae58415b1">XEnhance_SetHaloSuppress</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr, u32 Suppress)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xenhance_8c.html#9b7d0832aa50a04f6ec9e23f5a6a8d0a">XEnhance_GetHaloSuppress</a> (<a class="el" href="struct_x_enhance.html">XEnhance</a> *InstancePtr)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="27bf67acc10edaf9c34060974b8a60a5"></a><!-- doxytag: member="xenhance.c::XEnhance_CfgInitialize" ref="27bf67acc10edaf9c34060974b8a60a5" args="(XEnhance *InstancePtr, XEnhance_Config *CfgPtr, u32 EffectiveAddr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XEnhance_CfgInitialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_enhance___config.html">XEnhance_Config</a> *&nbsp;</td>
<td class="paramname"> <em>CfgPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>EffectiveAddr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function initializes a Enhance core. This function must be called prior to using a Enhance core. Initialization of a Enhance includes setting up the instance data, and ensuring the hardware is in a quiescent state.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CfgPtr</em>&nbsp;</td><td>is a reference to a configuration structure containing information about the Enhance core. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em>&nbsp;</td><td>is the base address of the core. If address translation is being used then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if initialization was successful.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="4bceb204520f19beff700f3101f1497b"></a><!-- doxytag: member="xenhance.c::XEnhance_DisableDbgBypass" ref="4bceb204520f19beff700f3101f1497b" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_DisableDbgBypass </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function disables Bypass mode of the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="847ee28cb905bff86e3554134bd06517"></a><!-- doxytag: member="xenhance.c::XEnhance_DisableDbgTestPattern" ref="847ee28cb905bff86e3554134bd06517" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_DisableDbgTestPattern </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function disables the test Pattern mode of the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="244a1d9a2f84fe3d2dfdcd19e60a3d70"></a><!-- doxytag: member="xenhance.c::XEnhance_EnableDbgByPass" ref="244a1d9a2f84fe3d2dfdcd19e60a3d70" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_EnableDbgByPass </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This sets the bypass bit of the control register to switch the core to bypass mode if debug is enabled in the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled.. </dd></dl>
</div>
</div><p>
<a class="anchor" name="a39c61253de334d022e9eef05d0510f4"></a><!-- doxytag: member="xenhance.c::XEnhance_EnableDbgTestPattern" ref="a39c61253de334d022e9eef05d0510f4" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_EnableDbgTestPattern </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the test-pattern mode of the Enhance core if debug features is enabled.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="da3d94dd800e68dd33c3bd7d2d944e58"></a><!-- doxytag: member="xenhance.c::XEnhance_GetActiveSize" ref="da3d94dd800e68dd33c3bd7d2d944e58" args="(XEnhance *InstancePtr, u16 *HSize, u16 *VSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_GetActiveSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16 *&nbsp;</td>
<td class="paramname"> <em>HSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16 *&nbsp;</td>
<td class="paramname"> <em>VSize</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the number of Active Pixel per Scan line and number of Active Lines per Frame from the Active Frame Size register.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>HSize</em>&nbsp;</td><td>is a pointer to 16-bit variable in which the number of Active Pixels per Scan Line is returned. (Range is 32 to 7680). </td></tr>
<tr><td valign="top"></td><td valign="top"><em>VSize</em>&nbsp;</td><td>is a pointer to 16-bit variable in which the number of Active Lines per Frame is returned. (Range is 32 to 7680).</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="37bb7f8519e16cd40f0786f2bb2426b3"></a><!-- doxytag: member="xenhance.c::XEnhance_GetDbgFrameCount" ref="37bb7f8519e16cd40f0786f2bb2426b3" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetDbgFrameCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets number of frames processed since power-up or last time the core is reset.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>FrameCount is the number of frames processed since power-up.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="5b27e04a98b4dc982d8e810a10b4323c"></a><!-- doxytag: member="xenhance.c::XEnhance_GetDbgLineCount" ref="5b27e04a98b4dc982d8e810a10b4323c" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetDbgLineCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the number of lines processed since power-up or last time the core is reset.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>LineCount is the number of lines processed since power-up.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="b290cab23614f98bacb8962d71bbcd3a"></a><!-- doxytag: member="xenhance.c::XEnhance_GetDbgPixelCount" ref="b290cab23614f98bacb8962d71bbcd3a" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetDbgPixelCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the number of pixels processed since power-up or last time the core is reset.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>PixelCount is the number of pixels processed since power-up.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="092895c216029e0a46a2374137a57ac4"></a><!-- doxytag: member="xenhance.c::XEnhance_GetEdgeStrength" ref="092895c216029e0a46a2374137a57ac4" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetEdgeStrength </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the Edge Strength value for the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The amount of edge enhancement that can be controlled.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="9b7d0832aa50a04f6ec9e23f5a6a8d0a"></a><!-- doxytag: member="xenhance.c::XEnhance_GetHaloSuppress" ref="9b7d0832aa50a04f6ec9e23f5a6a8d0a" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetHaloSuppress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the Halo Suppress value for the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The amount of halo suppression that can be controlled.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="9bf6d4c23a24ab84dce597b40a775c55"></a><!-- doxytag: member="xenhance.c::XEnhance_GetNoiseThreshold" ref="9bf6d4c23a24ab84dce597b40a775c55" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetNoiseThreshold </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the Noise Threshold value for the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>The amount of noise reduction that can be controlled.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="ba71113132fe89427be60fa11b0ec4c6"></a><!-- doxytag: member="xenhance.c::XEnhance_GetVersion" ref="ba71113132fe89427be60fa11b0ec4c6" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XEnhance_GetVersion </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function returns the contents of Version register.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Returns the contents of the Version register.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="6572dfd0d09a9b491bc45e05df4a74c5"></a><!-- doxytag: member="xenhance.c::XEnhance_IsDbgByPassEnabled" ref="6572dfd0d09a9b491bc45e05df4a74c5" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XEnhance_IsDbgByPassEnabled </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the current status of the bypass setting of the Enhance core.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Core debug bypass mode.<ul>
<li>TRUE = Bypass mode is enabled.</li><li>FALSE = Bypass mode is not enabled.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="d88dee1a3cd8e22e3bc96b20387b58b5"></a><!-- doxytag: member="xenhance.c::XEnhance_IsDbgTestPatternEnabled" ref="d88dee1a3cd8e22e3bc96b20387b58b5" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XEnhance_IsDbgTestPatternEnabled </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function gets the test-pattern mode if debug feature is enabled.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>Test-pattern generator mode.<ul>
<li>TRUE = Test-pattern mode is enabled.</li><li>FALSE = Test-pattern mode is not enabled.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
</div>
</div><p>
<a class="anchor" name="97a2877a659d458b2bfb6c32343f0965"></a><!-- doxytag: member="xenhance.c::XEnhance_SetActiveSize" ref="97a2877a659d458b2bfb6c32343f0965" args="(XEnhance *InstancePtr, u16 HSize, u16 VSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_SetActiveSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>HSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>VSize</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets active H/V sizes in the Active size register.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>HSize</em>&nbsp;</td><td>is number of Active Pixels per scan line to be set. Range of HSize is 32 to 7680. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>VSize</em>&nbsp;</td><td>is number of Active Lines per frame to be set. Range of VSize is 32 to 7680.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="988ff7bd55a8d3835c149533d587e140"></a><!-- doxytag: member="xenhance.c::XEnhance_SetEdgeStrength" ref="988ff7bd55a8d3835c149533d587e140" args="(XEnhance *InstancePtr, u32 Strength)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_SetEdgeStrength </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Strength</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the Edge Strength value for the Enhance core. i.e. The amount of edge enhancement can be controlled through the programmable Enhance Strength parameter.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Strength</em>&nbsp;</td><td>is the value to set the Edge Strength of the core.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>The larger the strength, the stronger the edge enhancement. </dd></dl>
</div>
</div><p>
<a class="anchor" name="6ab6a95117eb6829927e8d3ae58415b1"></a><!-- doxytag: member="xenhance.c::XEnhance_SetHaloSuppress" ref="6ab6a95117eb6829927e8d3ae58415b1" args="(XEnhance *InstancePtr, u32 Suppress)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_SetHaloSuppress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Suppress</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the Halo Suppress value for the Enhance core. i.e. The amount of halo suppression can be controlled through the programmable Halo Suppress parameter.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Suppress</em>&nbsp;</td><td>is the value to set the Suppression value.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="902482d8dd1f121091d5fd607b5c5c27"></a><!-- doxytag: member="xenhance.c::XEnhance_SetNoiseThreshold" ref="902482d8dd1f121091d5fd607b5c5c27" args="(XEnhance *InstancePtr, u32 Threshold)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_SetNoiseThreshold </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Threshold</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the Noise Threshold value for the Enhance core The amount of noise reduction can be controlled through Noise Threshold parameter.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Threshold</em>&nbsp;</td><td>is the value to set the Noise Threshold.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="531bc8c50a3385af70d135675919769f"></a><!-- doxytag: member="xenhance.c::XEnhance_Setup" ref="531bc8c50a3385af70d135675919769f" args="(XEnhance *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XEnhance_Setup </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_enhance.html">XEnhance</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the input/output frame size in Active Size register and enables the register update.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to <a class="el" href="struct_x_enhance.html">XEnhance</a> instance to be worked on.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.