<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.