embeddedsw/XilinxProcessorIPLib/drivers/deinterlacer/doc/html/api/xdeint_8c.html

677 lines
32 KiB
HTML
Raw Normal View History

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
xdeint.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>xdeint.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
This is main code of Xilinx Vide Deinterlacer core. Please see <a class="el" href="xdeint_8h.html">xdeint.h</a> for more details of the driver.<p>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ---- -------- ------------------------------------------------------
1.00a rjh 07/10/11 First release
2.00a rjh 18/01/12 Updated for v_deinterlacer 2.00
3.2 adk 02/13/14 Changed the prototype of XDeint_GetVersion
Implemented the following functions:
XDeint_GetFramestore
XDeint_GetVideo
XDeint_GetThresholds
XDeint_GetPulldown
XDeint_GetSize
</pre>
<p>
<code>#include &quot;<a class="el" href="xdeint_8h.html">xdeint.h</a>&quot;</code><br>
<code>#include &quot;xil_assert.h&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="xdeint_8c.html#562450dcb5a67c70cd30618ed35b0b89">XDeint_ConfigInitialize</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, <a class="el" href="struct_x_deint___config.html">XDeint_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="xdeint_8c.html#0cc19e03b76102a6a5ef48c7cc802c23">XDeint_SetFramestore</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 FieldAddr1, u32 FieldAddr2, u32 FieldAddr3, u32 FrameSize)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#53df92875612a37ece7657d7b89c6cec">XDeint_SetVideo</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 Packing, u32 Color, u32 Order, u32 PSF)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#df6e56ffc76191be43316a7e6d672715">XDeint_SetThresholds</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 ThresholdT1, u32 ThresholdT2)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#b6e090aa6db878614f03d3562903540b">XDeint_SetPulldown</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 Enable_32, u32 Enable_22)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#a2eda3e3fb71295ce16442feacd6d21c">XDeint_GetVersion</a> (<a class="el" href="struct_x_deint.html">XDeint</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="xdeint_8c.html#25a0f63a61e1961271d4420b706cfd05">XDeint_SetSize</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 Width, u32 Height)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#e5adf76ce47a8d1a2fb0755aaf10eea4">XDeint_GetVideo</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 *Packing, u32 *Color, u32 *Order, u32 *PSF)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#82b511cd2e3bb26360c72b74ead50726">XDeint_GetPulldown</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 *Enable_32, u32 *Enable_22)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#0ed756394ef9c0ca54c631b36db6d5fe">XDeint_GetSize</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 *Width, u32 *Height)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#f409566e046f4607a9ce4c4fb5c9f4f1">XDeint_GetThresholds</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 *ThresholdT1, u32 *ThresholdT2)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdeint_8c.html#e28f8648ed173839b966b9df407a076b">XDeint_GetFramestore</a> (<a class="el" href="struct_x_deint.html">XDeint</a> *InstancePtr, u32 *FieldAddr1, u32 *FieldAddr2, u32 *FieldAddr3, u32 *FrameSize)</td></tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="562450dcb5a67c70cd30618ed35b0b89"></a><!-- doxytag: member="xdeint.c::XDeint_ConfigInitialize" ref="562450dcb5a67c70cd30618ed35b0b89" args="(XDeint *InstancePtr, XDeint_Config *CfgPtr, u32 EffectiveAddr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int XDeint_ConfigInitialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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_deint___config.html">XDeint_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 the Deinterlacer core. This function must be called prior to using a Deinterlacer core. Initialization of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CfgPtr</em>&nbsp;</td><td>points to the configuration structure associated with the Deinterlacer 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="e28f8648ed173839b966b9df407a076b"></a><!-- doxytag: member="xdeint.c::XDeint_GetFramestore" ref="e28f8648ed173839b966b9df407a076b" args="(XDeint *InstancePtr, u32 *FieldAddr1, u32 *FieldAddr2, u32 *FieldAddr3, u32 *FrameSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_GetFramestore </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>FieldAddr1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>FieldAddr2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>FieldAddr3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>FrameSize</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 input field buffer addresses of an Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr1</em>&nbsp;</td><td>is the pointer to the 1st input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr2</em>&nbsp;</td><td>is the pointer to the 2nd input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr3</em>&nbsp;</td><td>is the pointer to the 3rd input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FrameSize</em>&nbsp;</td><td>is the pointer to size in 32bit words of a single field buffer.</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="82b511cd2e3bb26360c72b74ead50726"></a><!-- doxytag: member="xdeint.c::XDeint_GetPulldown" ref="82b511cd2e3bb26360c72b74ead50726" args="(XDeint *InstancePtr, u32 *Enable_32, u32 *Enable_22)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_GetPulldown </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>Enable_32</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>Enable_22</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 pull down controller of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Enable_32</em>&nbsp;</td><td>is a pointer which holds status of Enable_32 mode.<ul>
<li>FALSE = Disabled.</li><li>TRUE = Enabled. </li></ul>
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>Enable_22</em>&nbsp;</td><td>is a pointer which holds status of Enable_22 mode.<ul>
<li>FALSE = Disabled.</li><li>TRUE = Enabled.</li></ul>
</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="0ed756394ef9c0ca54c631b36db6d5fe"></a><!-- doxytag: member="xdeint.c::XDeint_GetSize" ref="0ed756394ef9c0ca54c631b36db6d5fe" args="(XDeint *InstancePtr, u32 *Width, u32 *Height)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_GetSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>Width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>Height</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 input frame size of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Width</em>&nbsp;</td><td>is pointer to the width of the frame. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Height</em>&nbsp;</td><td>is pointer to the height of the frame.</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="f409566e046f4607a9ce4c4fb5c9f4f1"></a><!-- doxytag: member="xdeint.c::XDeint_GetThresholds" ref="f409566e046f4607a9ce4c4fb5c9f4f1" args="(XDeint *InstancePtr, u32 *ThresholdT1, u32 *ThresholdT2)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_GetThresholds </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>ThresholdT1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>ThresholdT2</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 threshold used by the motion adaptive kernel.<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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ThresholdT1</em>&nbsp;</td><td>is the pointer to lower threshold of the motion kernel. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ThresholdT2</em>&nbsp;</td><td>is the pointer to upper threshold of the motion kernel.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="a2eda3e3fb71295ce16442feacd6d21c"></a><!-- doxytag: member="xdeint.c::XDeint_GetVersion" ref="a2eda3e3fb71295ce16442feacd6d21c" args="(XDeint *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XDeint_GetVersion </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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_deint.html">XDeint</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="e5adf76ce47a8d1a2fb0755aaf10eea4"></a><!-- doxytag: member="xdeint.c::XDeint_GetVideo" ref="e5adf76ce47a8d1a2fb0755aaf10eea4" args="(XDeint *InstancePtr, u32 *Packing, u32 *Color, u32 *Order, u32 *PSF)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_GetVideo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>Packing</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>Color</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>Order</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32 *&nbsp;</td>
<td class="paramname"> <em>PSF</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 video format of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Packing</em>&nbsp;</td><td>is a pointer to 32 bit variable which holds Packaging format.<ul>
<li>0 4:2:0 Packging is used.</li><li>XDEINT_MODE_PACKING_0 4:2:2 Packging is used.</li><li>XDEINT_MODE_PACKING_1 4:4:4 Packging is used. </li></ul>
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>Color</em>&nbsp;</td><td>is a pointer to 32 bit varaible which holds color value.<ul>
<li>0 YUV color space is used.</li><li>XDEINT_MODE_COL RGB color space is used. </li></ul>
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>Order</em>&nbsp;</td><td>is a pointer to 32 bit varaible which holds Field order.<ul>
<li>0 the field order maps to PAL/HD/3G.</li><li>XDEINT_MODE_FIELD_ORDER the field order maps to NTSC/480i </li></ul>
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>PSF</em>&nbsp;</td><td>is a pointer to 32 bit variable which says whether Psf enabled or disabled.<ul>
<li>XDEINT_MODE_PSF_ENABLE for psf enable.</li></ul>
</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="0cc19e03b76102a6a5ef48c7cc802c23"></a><!-- doxytag: member="xdeint.c::XDeint_SetFramestore" ref="0cc19e03b76102a6a5ef48c7cc802c23" args="(XDeint *InstancePtr, u32 FieldAddr1, u32 FieldAddr2, u32 FieldAddr3, u32 FrameSize)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_SetFramestore </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>FieldAddr1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>FieldAddr2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>FieldAddr3</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>FrameSize</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 input field buffer addresses of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr1</em>&nbsp;</td><td>is the address of the 1st input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr2</em>&nbsp;</td><td>is the address of the 2nd input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FieldAddr3</em>&nbsp;</td><td>is the address of the 3rd input field buffer. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>FrameSize</em>&nbsp;</td><td>is the size in 32bit words of a single field buffer.</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="b6e090aa6db878614f03d3562903540b"></a><!-- doxytag: member="xdeint.c::XDeint_SetPulldown" ref="b6e090aa6db878614f03d3562903540b" args="(XDeint *InstancePtr, u32 Enable_32, u32 Enable_22)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_SetPulldown </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>Enable_32</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Enable_22</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 pull down controller of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Enable_32</em>&nbsp;</td><td>allows detectors to automatically control Deinterlacer core.<ul>
<li>1 Pull down enable 3:2 </li></ul>
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>Enable_22</em>&nbsp;</td><td>allows detectors to automatically control Deinterlacer core.<ul>
<li>1 Pull down enable 2:2</li></ul>
</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="25a0f63a61e1961271d4420b706cfd05"></a><!-- doxytag: member="xdeint.c::XDeint_SetSize" ref="25a0f63a61e1961271d4420b706cfd05" args="(XDeint *InstancePtr, u32 Width, u32 Height)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_SetSize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>Width</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Height</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 input frame size of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Width</em>&nbsp;</td><td>is the width of the frame. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Height</em>&nbsp;</td><td>is the height of the frame.</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="df6e56ffc76191be43316a7e6d672715"></a><!-- doxytag: member="xdeint.c::XDeint_SetThresholds" ref="df6e56ffc76191be43316a7e6d672715" args="(XDeint *InstancePtr, u32 ThresholdT1, u32 ThresholdT2)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_SetThresholds </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>ThresholdT1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>ThresholdT2</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 threshold used by the motion adaptive kernel of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ThresholdT1</em>&nbsp;</td><td>is the lower threshold of the motion kernel. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ThresholdT2</em>&nbsp;</td><td>is the upper threshold of the motion kernel.</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="53df92875612a37ece7657d7b89c6cec"></a><!-- doxytag: member="xdeint.c::XDeint_SetVideo" ref="53df92875612a37ece7657d7b89c6cec" args="(XDeint *InstancePtr, u32 Packing, u32 Color, u32 Order, u32 PSF)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDeint_SetVideo </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_deint.html">XDeint</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>Packing</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Color</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Order</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>PSF</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 video format of the Deinterlacer 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_deint.html">XDeint</a> instance to be worked on. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Packing</em>&nbsp;</td><td>selects the XSVI video packing mode.<ul>
<li>0 4:2:0 Packging is used.</li><li>XDEINT_MODE_PACKING_0 4:2:2 Packging is used.</li><li>XDEINT_MODE_PACKING_1 4:4:4 Packging is used. </li></ul>
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>Color</em>&nbsp;</td><td>selects what color space to use.<ul>
<li>0 YUV color space is used.</li><li>XDEINT_MODE_COL RGB color space is used. </li></ul>
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>Order</em>&nbsp;</td><td>selects which field ordering is being used.<ul>
<li>0 the field order maps to PAL/HD/3G.</li><li>XDEINT_MODE_FIELD_ORDER the field order maps to NTSC/480i </li></ul>
</td></tr>
<tr><td valign="top"></td><td valign="top"><em>PSF</em>&nbsp;</td><td>enables psf (progressive segmented frame mode).<ul>
<li>XDEINT_MODE_PSF_ENABLE for psf enable.</li></ul>
</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.