<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3"/> <title>gavl: Deinterlacer</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">gavl </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Deinterlacer<div class="ingroups"><a class="el" href="group__video.html">Video</a></div></div> </div> </div><!--header--> <div class="contents"> <p>Deinterlacer. <a href="#details">More...</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:ga7c2cc3f5fcc2266c5df7e34ab28596f9"><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> gavl_video_deinterlacer_s </td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a></td></tr> <tr class="memdesc:ga7c2cc3f5fcc2266c5df7e34ab28596f9"><td class="mdescLeft"> </td><td class="mdescRight">Opaque deinterlacer structure. <a href="#ga7c2cc3f5fcc2266c5df7e34ab28596f9"></a><br/></td></tr> <tr class="separator:ga7c2cc3f5fcc2266c5df7e34ab28596f9"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga4610459bb334e210f0bbf2e2e07e4221"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC <br class="typebreak"/> <a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__deinterlacer.html#ga4610459bb334e210f0bbf2e2e07e4221">gavl_video_deinterlacer_create</a> ()</td></tr> <tr class="memdesc:ga4610459bb334e210f0bbf2e2e07e4221"><td class="mdescLeft"> </td><td class="mdescRight">Create a video deinterlacer. <a href="#ga4610459bb334e210f0bbf2e2e07e4221"></a><br/></td></tr> <tr class="separator:ga4610459bb334e210f0bbf2e2e07e4221"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga820c4520488a561df92280b6c584efe4"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__deinterlacer.html#ga820c4520488a561df92280b6c584efe4">gavl_video_deinterlacer_destroy</a> (<a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a> *deinterlacer)</td></tr> <tr class="memdesc:ga820c4520488a561df92280b6c584efe4"><td class="mdescLeft"> </td><td class="mdescRight">Destroy a video deinterlacer. <a href="#ga820c4520488a561df92280b6c584efe4"></a><br/></td></tr> <tr class="separator:ga820c4520488a561df92280b6c584efe4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga0d553f6f321342e51ac113aec1a89ef3"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC <a class="el" href="group__video__options.html#ga661526ac8e31c3a162f8607c2bcda6ee">gavl_video_options_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__deinterlacer.html#ga0d553f6f321342e51ac113aec1a89ef3">gavl_video_deinterlacer_get_options</a> (<a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a> *deinterlacer)</td></tr> <tr class="memdesc:ga0d553f6f321342e51ac113aec1a89ef3"><td class="mdescLeft"> </td><td class="mdescRight">gets options of a deinterlacer <a href="#ga0d553f6f321342e51ac113aec1a89ef3"></a><br/></td></tr> <tr class="separator:ga0d553f6f321342e51ac113aec1a89ef3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3c9b6b6a1a12483c00cd3e0be0ef6383"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__deinterlacer.html#ga3c9b6b6a1a12483c00cd3e0be0ef6383">gavl_video_deinterlacer_init</a> (<a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a> *deinterlacer, const <a class="el" href="group__video__format.html#ga0ffc9c60fb71a5fb835e453531fd442c">gavl_video_format_t</a> *src_format)</td></tr> <tr class="memdesc:ga3c9b6b6a1a12483c00cd3e0be0ef6383"><td class="mdescLeft"> </td><td class="mdescRight">Initialize a video deinterlacer. <a href="#ga3c9b6b6a1a12483c00cd3e0be0ef6383"></a><br/></td></tr> <tr class="separator:ga3c9b6b6a1a12483c00cd3e0be0ef6383"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa5b6186a7cd48941e8be88e84f727338"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__deinterlacer.html#gaa5b6186a7cd48941e8be88e84f727338">gavl_video_deinterlacer_deinterlace</a> (<a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a> *deinterlacer, const <a class="el" href="structgavl__video__frame__t.html">gavl_video_frame_t</a> *input_frame, <a class="el" href="structgavl__video__frame__t.html">gavl_video_frame_t</a> *output_frame)</td></tr> <tr class="memdesc:gaa5b6186a7cd48941e8be88e84f727338"><td class="mdescLeft"> </td><td class="mdescRight">Deinterlace video. <a href="#gaa5b6186a7cd48941e8be88e84f727338"></a><br/></td></tr> <tr class="separator:gaa5b6186a7cd48941e8be88e84f727338"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>Deinterlacer. </p> <p>Deinterlacing is supported either through the <a class="el" href="group__video__converter.html#ga8608b4a917f962a192fbb4e7d1a180f5">gavl_video_converter_t</a> or using a low level deinterlacer </p> <h2 class="groupheader">Typedef Documentation</h2> <a class="anchor" id="ga7c2cc3f5fcc2266c5df7e34ab28596f9"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct gavl_video_deinterlacer_s <a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a></td> </tr> </table> </div><div class="memdoc"> <p>Opaque deinterlacer structure. </p> <p>You don't want to know what's inside. </p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga4610459bb334e210f0bbf2e2e07e4221"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC <a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a>* gavl_video_deinterlacer_create </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Create a video deinterlacer. </p> <dl class="section return"><dt>Returns</dt><dd>A newly allocated video deinterlacer </dd></dl> </div> </div> <a class="anchor" id="ga820c4520488a561df92280b6c584efe4"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_video_deinterlacer_destroy </td> <td>(</td> <td class="paramtype"><a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a> * </td> <td class="paramname"><em>deinterlacer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Destroy a video deinterlacer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">deinterlacer</td><td>A video deinterlacer </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="ga0d553f6f321342e51ac113aec1a89ef3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC <a class="el" href="group__video__options.html#ga661526ac8e31c3a162f8607c2bcda6ee">gavl_video_options_t</a>* gavl_video_deinterlacer_get_options </td> <td>(</td> <td class="paramtype"><a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a> * </td> <td class="paramname"><em>deinterlacer</em></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>gets options of a deinterlacer </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">deinterlacer</td><td>A video deinterlacer</td></tr> </table> </dd> </dl> <p>After you called this, you can use the gavl_video_options_set_*() functions to change the options. Options will become valid with the next call to <a class="el" href="group__video__deinterlacer.html#ga3c9b6b6a1a12483c00cd3e0be0ef6383">gavl_video_deinterlacer_init</a> </p> </div> </div> <a class="anchor" id="ga3c9b6b6a1a12483c00cd3e0be0ef6383"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC int gavl_video_deinterlacer_init </td> <td>(</td> <td class="paramtype"><a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a> * </td> <td class="paramname"><em>deinterlacer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="group__video__format.html#ga0ffc9c60fb71a5fb835e453531fd442c">gavl_video_format_t</a> * </td> <td class="paramname"><em>src_format</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Initialize a video deinterlacer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">deinterlacer</td><td>A video deinterlacer </td></tr> <tr><td class="paramname">src_format</td><td>Input format </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>If something goes wrong (should never happen), -1 is returned.</dd></dl> <p>You should have equal pixelformats in the source and destination. This function can be called multiple times with one instance. </p> </div> </div> <a class="anchor" id="gaa5b6186a7cd48941e8be88e84f727338"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GAVL_PUBLIC void gavl_video_deinterlacer_deinterlace </td> <td>(</td> <td class="paramtype"><a class="el" href="group__video__deinterlacer.html#ga7c2cc3f5fcc2266c5df7e34ab28596f9">gavl_video_deinterlacer_t</a> * </td> <td class="paramname"><em>deinterlacer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="structgavl__video__frame__t.html">gavl_video_frame_t</a> * </td> <td class="paramname"><em>input_frame</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="structgavl__video__frame__t.html">gavl_video_frame_t</a> * </td> <td class="paramname"><em>output_frame</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>Deinterlace video. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">deinterlacer</td><td>A video deinterlacer </td></tr> <tr><td class="paramname">input_frame</td><td>Input frame </td></tr> <tr><td class="paramname">output_frame</td><td>Output frame </td></tr> </table> </dd> </dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Jan 11 2013 22:07:38 for gavl by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3 </small></address> </body> </html>