Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > e9a2bf4cbad8eb886872edae7c352314 > files > 53

libvpx-devel-1.0.0-1.fc15.i686.rpm

<!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"/>
<title>WebM VP8 Codec SDK: Common Algorithm Interface</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">WebM VP8 Codec SDK</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#groups">Modules</a> &#124;
<a href="#files">Files</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Common Algorithm Interface</div>  </div>
</div>
<div class="contents">
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Codec context structure.  <a href="structvpx__codec__ctx.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="groups"></a>
Modules</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cap__xma.html">External Memory Allocation Functions</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__decoder.html">Decoder Algorithm Interface</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__encoder.html">Encoder Algorithm Interface</a></td></tr>
<tr><td colspan="2"><h2><a name="files"></a>
Files</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__codec_8h.html">vpx_codec.h</a></td></tr>

<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Describes the codec algorithm interface to applications. </p>
<br/></td></tr>
</p>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga148a1b7418b30ecd9abb3413782aecd1"></a><!-- doxytag: member="codec::VPX_CODEC_H" ref="ga148a1b7418b30ecd9abb3413782aecd1" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>VPX_CODEC_H</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac1e8a42306d8e67cb94ca31c3956ee78"></a><!-- doxytag: member="codec::DEPRECATED" ref="gac1e8a42306d8e67cb94ca31c3956ee78" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gac1e8a42306d8e67cb94ca31c3956ee78">DEPRECATED</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decorator indicating a function is deprecated. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gab61b56b074706ee8423d864b511212ad">DECLSPEC_DEPRECATED</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaddf5ec070e9499d36b7f2009ce736076"></a><!-- doxytag: member="codec::UNUSED" ref="gaddf5ec070e9499d36b7f2009ce736076" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaddf5ec070e9499d36b7f2009ce736076">UNUSED</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decorator indicating a function is potentially unused. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf7e9cad2df0f81679b881f46740ad097"></a><!-- doxytag: member="codec::VPX_CODEC_ABI_VERSION" ref="gaf7e9cad2df0f81679b881f46740ad097" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaf7e9cad2df0f81679b881f46740ad097">VPX_CODEC_ABI_VERSION</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Current ABI version number. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gae10ad7f9548170aef77df09d48ad108a">VPX_CODEC_CAP_DECODER</a>&#160;&#160;&#160;0x1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gab2e8b76fff95ebd573a17bdc11f8a441">VPX_CODEC_CAP_ENCODER</a>&#160;&#160;&#160;0x2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gadbaf864317eb8294fd518862a1e6f9d4">VPX_CODEC_CAP_XMA</a>&#160;&#160;&#160;0x4</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gab363c255f13717f693762c3dcf0b93d6">VPX_CODEC_USE_XMA</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gadebddd67347fe47c0772b1e06b6173ba">VPX_VERSION_MAJOR</a>(v)&#160;&#160;&#160;((v&gt;&gt;16)&amp;0xff)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga4a5ce4588576306dee0d95e8f8706f86">VPX_VERSION_MINOR</a>(v)&#160;&#160;&#160;((v&gt;&gt;8)&amp;0xff)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga4acf2cf4c35ff123d17cd67c069fdbaa">VPX_VERSION_PATCH</a>(v)&#160;&#160;&#160;((v&gt;&gt;0)&amp;0xff)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf314b746e4e202045e85ac073c29a495"></a><!-- doxytag: member="codec::vpx_codec_version_major" ref="gaf314b746e4e202045e85ac073c29a495" args="()" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaf314b746e4e202045e85ac073c29a495">vpx_codec_version_major</a>()&#160;&#160;&#160;((vpx_codec_version()&gt;&gt;16)&amp;0xff)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the version major number. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2b668688a7d1551ea89bcda8f2587f93"></a><!-- doxytag: member="codec::vpx_codec_version_minor" ref="ga2b668688a7d1551ea89bcda8f2587f93" args="()" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga2b668688a7d1551ea89bcda8f2587f93">vpx_codec_version_minor</a>()&#160;&#160;&#160;((vpx_codec_version()&gt;&gt;8)&amp;0xff)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the version minor number. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8ed64bded0d763fa2158312ac8fbcf26"></a><!-- doxytag: member="codec::vpx_codec_version_patch" ref="ga8ed64bded0d763fa2158312ac8fbcf26" args="()" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga8ed64bded0d763fa2158312ac8fbcf26">vpx_codec_version_patch</a>()&#160;&#160;&#160;((vpx_codec_version()&gt;&gt;0)&amp;0xff)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the version patch number. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gac1b91e04698c1bd4c0a2b8aa85b08cd2">vpx_codec_control</a>(ctx, id, data)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">vpx_codec_control wrapper macro  <a href="#gac1b91e04698c1bd4c0a2b8aa85b08cd2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a">VPX_CTRL_USE_TYPE</a>(id, typ)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">vpx_codec_control type definition macro  <a href="#gaa7409a4cb58b155912f41a4d39d81a8a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga147463efbdbe3b9823e054fe2d56851b">VPX_CTRL_USE_TYPE_DEPRECATED</a>(id, typ)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">vpx_codec_control deprecated type definition macro  <a href="#ga147463efbdbe3b9823e054fe2d56851b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga2610354d13efd9ca04fb95823aeda773">VPX_CTRL_VOID</a>(id)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">vpx_codec_control void type definition macro  <a href="#ga2610354d13efd9ca04fb95823aeda773"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gad2b690c0ef83cbd83a7234078791913f">vpx_codec_caps_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Codec capabilities bitfield.  <a href="#gad2b690c0ef83cbd83a7234078791913f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877">vpx_codec_flags_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization-time Feature Enabling.  <a href="#ga3b36d5af89ddc463489fe5bde0a57877"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct vpx_codec_iface&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Codec interface structure.  <a href="#gad654f3da60151f5dfef70aca00ef1e9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct vpx_codec_priv&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga1e262f91be9141a7176335fd409397ab">vpx_codec_priv_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Codec private data structure.  <a href="#ga1e262f91be9141a7176335fd409397ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef const void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga6ea348f76b1f8a1fe50e14db684146c6">vpx_codec_iter_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Iterator.  <a href="#ga6ea348f76b1f8a1fe50e14db684146c6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gad03e2dfa6ae511db7d25be6bbb336233">vpx_codec_ctx_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Codec context structure.  <a href="#gad03e2dfa6ae511db7d25be6bbb336233"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> { <br/>
&#160;&#160;<a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2af1dcde74b1c5ff7b29f31246dfd90986">VPX_CODEC_OK</a>, 
<a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2abd8a8f9c2588adab5d764d957e265135">VPX_CODEC_ERROR</a>, 
<a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2a96c6d2600dc0ec25c2cb798e8d2f4760">VPX_CODEC_MEM_ERROR</a>, 
<a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2afe8f723512f728bc518bbfba3b96d324">VPX_CODEC_ABI_MISMATCH</a>, 
<br/>
&#160;&#160;<a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2a4470784ba5a3ef84dc0697d5489dd292">VPX_CODEC_INCAPABLE</a>, 
<a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2afff886e57782098a3df13d4e349ca973">VPX_CODEC_UNSUP_BITSTREAM</a>, 
<a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2a8a86701e65d826d82651537aadd6c539">VPX_CODEC_UNSUP_FEATURE</a>, 
<a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2a29d03c009e0479dbf4ecbd8db1011b85">VPX_CODEC_CORRUPT_FRAME</a>, 
<br/>
&#160;&#160;<a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2ab5857f7b5f03f8ca164fab8843a979df">VPX_CODEC_INVALID_PARAM</a>, 
<a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2a452450a5adfcc14ef8a0ac12611dae21">VPX_CODEC_LIST_END</a>
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Algorithm return codes.  <a href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga163037ae037ac760da65e4130c7d4767">vpx_codec_version</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the version information (as an integer)  <a href="#ga163037ae037ac760da65e4130c7d4767"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga163fbcc6dd33827b28b9829a0a86cf59">vpx_codec_version_str</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the version information (as a string)  <a href="#ga163fbcc6dd33827b28b9829a0a86cf59"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga286c0d4271fea4c488d791154d8f9098">vpx_codec_version_extra_str</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the version information (as a string)  <a href="#ga286c0d4271fea4c488d791154d8f9098"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga20922bad85472e76d5f61c21cb423af7">vpx_codec_build_config</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the build configuration.  <a href="#ga20922bad85472e76d5f61c21cb423af7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga9eee39f450d8cdcf5aba0e2bda6e5aa8">vpx_codec_iface_name</a> (<a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> *iface)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the name for a given interface.  <a href="#ga9eee39f450d8cdcf5aba0e2bda6e5aa8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaaddf5c1f609ef18c7c8800d102fcefa6">vpx_codec_err_to_string</a> (<a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> err)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert error number to printable string.  <a href="#gaaddf5c1f609ef18c7c8800d102fcefa6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga4d265df00d42b36a4f0e3eb83fc22c5e">vpx_codec_error</a> (<a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve error synopsis for codec context.  <a href="#ga4d265df00d42b36a4f0e3eb83fc22c5e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga29273cb552ed1a437fe263c4a0a54300">vpx_codec_error_detail</a> (<a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve detailed error information for codec context.  <a href="#ga29273cb552ed1a437fe263c4a0a54300"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga6ae21d96909660d0ac978b59a863f53b">vpx_codec_destroy</a> (<a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy a codec instance.  <a href="#ga6ae21d96909660d0ac978b59a863f53b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__codec.html#gad2b690c0ef83cbd83a7234078791913f">vpx_codec_caps_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga43adff58759093401235fb99247c82b8">vpx_codec_get_caps</a> (<a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> *iface)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the capabilities of an algorithm.  <a href="#ga43adff58759093401235fb99247c82b8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaf7849b69cc390b21d889c8c71f69ec14">vpx_codec_control_</a> (<a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx, int ctrl_id,...)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Control algorithm.  <a href="#gaf7849b69cc390b21d889c8c71f69ec14"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>This abstraction allows applications to easily support multiple video formats with minimal code duplication. This section describes the interface common to all codecs (both encoders and decoders). </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="gab61b56b074706ee8423d864b511212ad"></a><!-- doxytag: member="vpx_codec.h::DECLSPEC_DEPRECATED" ref="gab61b56b074706ee8423d864b511212ad" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DECLSPEC_DEPRECATED</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Decorator indicating a function is deprecated. </p>
 
</div>
</div>
<a class="anchor" id="gae10ad7f9548170aef77df09d48ad108a"></a><!-- doxytag: member="vpx_codec.h::VPX_CODEC_CAP_DECODER" ref="gae10ad7f9548170aef77df09d48ad108a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CODEC_CAP_DECODER&#160;&#160;&#160;0x1</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Is a decoder </p>

</div>
</div>
<a class="anchor" id="gab2e8b76fff95ebd573a17bdc11f8a441"></a><!-- doxytag: member="vpx_codec.h::VPX_CODEC_CAP_ENCODER" ref="gab2e8b76fff95ebd573a17bdc11f8a441" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CODEC_CAP_ENCODER&#160;&#160;&#160;0x2</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Is an encoder </p>

</div>
</div>
<a class="anchor" id="gadbaf864317eb8294fd518862a1e6f9d4"></a><!-- doxytag: member="vpx_codec.h::VPX_CODEC_CAP_XMA" ref="gadbaf864317eb8294fd518862a1e6f9d4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CODEC_CAP_XMA&#160;&#160;&#160;0x4</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Supports eXternal Memory Allocation </p>

</div>
</div>
<a class="anchor" id="gab363c255f13717f693762c3dcf0b93d6"></a><!-- doxytag: member="vpx_codec.h::VPX_CODEC_USE_XMA" ref="gab363c255f13717f693762c3dcf0b93d6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CODEC_USE_XMA&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Use eXternal Memory Allocation mode </p>

</div>
</div>
<a class="anchor" id="gadebddd67347fe47c0772b1e06b6173ba"></a><!-- doxytag: member="vpx_codec.h::VPX_VERSION_MAJOR" ref="gadebddd67347fe47c0772b1e06b6173ba" args="(v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_VERSION_MAJOR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v</td><td>)</td>
          <td>&#160;&#160;&#160;((v&gt;&gt;16)&amp;0xff)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>extract major from packed version </p>

</div>
</div>
<a class="anchor" id="ga4a5ce4588576306dee0d95e8f8706f86"></a><!-- doxytag: member="vpx_codec.h::VPX_VERSION_MINOR" ref="ga4a5ce4588576306dee0d95e8f8706f86" args="(v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_VERSION_MINOR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v</td><td>)</td>
          <td>&#160;&#160;&#160;((v&gt;&gt;8)&amp;0xff)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>extract minor from packed version </p>

</div>
</div>
<a class="anchor" id="ga4acf2cf4c35ff123d17cd67c069fdbaa"></a><!-- doxytag: member="vpx_codec.h::VPX_VERSION_PATCH" ref="ga4acf2cf4c35ff123d17cd67c069fdbaa" args="(v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_VERSION_PATCH</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v</td><td>)</td>
          <td>&#160;&#160;&#160;((v&gt;&gt;0)&amp;0xff)</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>extract patch from packed version </p>

</div>
</div>
<a class="anchor" id="gac1b91e04698c1bd4c0a2b8aa85b08cd2"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_control" ref="gac1b91e04698c1bd4c0a2b8aa85b08cd2" args="(ctx, id, data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define vpx_codec_control</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ctx, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">id, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>vpx_codec_control wrapper macro </p>
<p>This macro allows for type safe conversions across the variadic parameter to <a class="el" href="group__codec.html#gaf7849b69cc390b21d889c8c71f69ec14" title="Control algorithm.">vpx_codec_control_()</a>. </p>

</div>
</div>
<a class="anchor" id="gaa7409a4cb58b155912f41a4d39d81a8a"></a><!-- doxytag: member="vpx_codec.h::VPX_CTRL_USE_TYPE" ref="gaa7409a4cb58b155912f41a4d39d81a8a" args="(id, typ)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CTRL_USE_TYPE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">id, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">typ&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>vpx_codec_control type definition macro </p>
<p>This macro allows for type safe conversions across the variadic parameter to <a class="el" href="group__codec.html#gaf7849b69cc390b21d889c8c71f69ec14" title="Control algorithm.">vpx_codec_control_()</a>. It defines the type of the argument for a given control identifier. </p>

</div>
</div>
<a class="anchor" id="ga147463efbdbe3b9823e054fe2d56851b"></a><!-- doxytag: member="vpx_codec.h::VPX_CTRL_USE_TYPE_DEPRECATED" ref="ga147463efbdbe3b9823e054fe2d56851b" args="(id, typ)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CTRL_USE_TYPE_DEPRECATED</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">id, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">typ&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>vpx_codec_control deprecated type definition macro </p>
<p>Like <a class="el" href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a" title="vpx_codec_control type definition macro">VPX_CTRL_USE_TYPE</a>, but indicates that the specified control is deprecated and should not be used. Consult the documentation for your codec for more information. </p>

</div>
</div>
<a class="anchor" id="ga2610354d13efd9ca04fb95823aeda773"></a><!-- doxytag: member="vpx_codec.h::VPX_CTRL_VOID" ref="ga2610354d13efd9ca04fb95823aeda773" args="(id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CTRL_VOID</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">id</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>vpx_codec_control void type definition macro </p>
<p>This macro allows for type safe conversions across the variadic parameter to <a class="el" href="group__codec.html#gaf7849b69cc390b21d889c8c71f69ec14" title="Control algorithm.">vpx_codec_control_()</a>. It indicates that a given control identifier takes no argument. </p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="gad2b690c0ef83cbd83a7234078791913f"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_caps_t" ref="gad2b690c0ef83cbd83a7234078791913f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef long <a class="el" href="group__codec.html#gad2b690c0ef83cbd83a7234078791913f">vpx_codec_caps_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Codec capabilities bitfield. </p>
<p>Each codec advertises the capabilities it supports as part of its <a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e" title="Codec interface structure.">vpx_codec_iface_t</a> interface structure. Capabilities are extra interfaces or functionality, and are not required to be supported.</p>
<p>The available flags are specified by VPX_CODEC_CAP_* defines. </p>

</div>
</div>
<a class="anchor" id="ga3b36d5af89ddc463489fe5bde0a57877"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_flags_t" ref="ga3b36d5af89ddc463489fe5bde0a57877" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef long <a class="el" href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877">vpx_codec_flags_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialization-time Feature Enabling. </p>
<p>Certain codec features must be known at initialization time, to allow for proper memory allocation.</p>
<p>The available flags are specified by VPX_CODEC_USE_* defines. </p>

</div>
</div>
<a class="anchor" id="gad654f3da60151f5dfef70aca00ef1e9e"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_iface_t" ref="gad654f3da60151f5dfef70aca00ef1e9e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct vpx_codec_iface <a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Codec interface structure. </p>
<p>Contains function pointers and other data private to the codec implementation. This structure is opaque to the application. </p>

</div>
</div>
<a class="anchor" id="ga1e262f91be9141a7176335fd409397ab"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_priv_t" ref="ga1e262f91be9141a7176335fd409397ab" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct vpx_codec_priv <a class="el" href="group__codec.html#ga1e262f91be9141a7176335fd409397ab">vpx_codec_priv_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Codec private data structure. </p>
<p>Contains data private to the codec implementation. This structure is opaque to the application. </p>

</div>
</div>
<a class="anchor" id="ga6ea348f76b1f8a1fe50e14db684146c6"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_iter_t" ref="ga6ea348f76b1f8a1fe50e14db684146c6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef const void* <a class="el" href="group__codec.html#ga6ea348f76b1f8a1fe50e14db684146c6">vpx_codec_iter_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Iterator. </p>
<p>Opaque storage used for iterating over lists. </p>

</div>
</div>
<a class="anchor" id="gad03e2dfa6ae511db7d25be6bbb336233"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_ctx_t" ref="gad03e2dfa6ae511db7d25be6bbb336233" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx</a>  <a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Codec context structure. </p>
<p>All codecs <a class="el" href="rfc2119.html#MUST">MUST</a> support this context structure fully. In general, this data should be considered private to the codec algorithm, and not be manipulated or examined by the calling application. Applications may reference the 'name' member to get a printable description of the algorithm. </p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="gada1084710837ad363b92f2379dd2b8d2"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_err_t" ref="gada1084710837ad363b92f2379dd2b8d2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Algorithm return codes. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggada1084710837ad363b92f2379dd2b8d2af1dcde74b1c5ff7b29f31246dfd90986"></a><!-- doxytag: member="VPX_CODEC_OK" ref="ggada1084710837ad363b92f2379dd2b8d2af1dcde74b1c5ff7b29f31246dfd90986" args="" -->VPX_CODEC_OK</em>&nbsp;</td><td>
<p>Operation completed without error. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggada1084710837ad363b92f2379dd2b8d2abd8a8f9c2588adab5d764d957e265135"></a><!-- doxytag: member="VPX_CODEC_ERROR" ref="ggada1084710837ad363b92f2379dd2b8d2abd8a8f9c2588adab5d764d957e265135" args="" -->VPX_CODEC_ERROR</em>&nbsp;</td><td>
<p>Unspecified error. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggada1084710837ad363b92f2379dd2b8d2a96c6d2600dc0ec25c2cb798e8d2f4760"></a><!-- doxytag: member="VPX_CODEC_MEM_ERROR" ref="ggada1084710837ad363b92f2379dd2b8d2a96c6d2600dc0ec25c2cb798e8d2f4760" args="" -->VPX_CODEC_MEM_ERROR</em>&nbsp;</td><td>
<p>Memory operation failed. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggada1084710837ad363b92f2379dd2b8d2afe8f723512f728bc518bbfba3b96d324"></a><!-- doxytag: member="VPX_CODEC_ABI_MISMATCH" ref="ggada1084710837ad363b92f2379dd2b8d2afe8f723512f728bc518bbfba3b96d324" args="" -->VPX_CODEC_ABI_MISMATCH</em>&nbsp;</td><td>
<p>ABI version mismatch. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggada1084710837ad363b92f2379dd2b8d2a4470784ba5a3ef84dc0697d5489dd292"></a><!-- doxytag: member="VPX_CODEC_INCAPABLE" ref="ggada1084710837ad363b92f2379dd2b8d2a4470784ba5a3ef84dc0697d5489dd292" args="" -->VPX_CODEC_INCAPABLE</em>&nbsp;</td><td>
<p>Algorithm does not have required capability. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggada1084710837ad363b92f2379dd2b8d2afff886e57782098a3df13d4e349ca973"></a><!-- doxytag: member="VPX_CODEC_UNSUP_BITSTREAM" ref="ggada1084710837ad363b92f2379dd2b8d2afff886e57782098a3df13d4e349ca973" args="" -->VPX_CODEC_UNSUP_BITSTREAM</em>&nbsp;</td><td>
<p>The given bitstream is not supported. </p>
<p>The bitstream was unable to be parsed at the highest level. The decoder is unable to proceed. This error <a class="el" href="rfc2119.html#SHOULD">SHOULD</a> be treated as fatal to the stream. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggada1084710837ad363b92f2379dd2b8d2a8a86701e65d826d82651537aadd6c539"></a><!-- doxytag: member="VPX_CODEC_UNSUP_FEATURE" ref="ggada1084710837ad363b92f2379dd2b8d2a8a86701e65d826d82651537aadd6c539" args="" -->VPX_CODEC_UNSUP_FEATURE</em>&nbsp;</td><td>
<p>Encoded bitstream uses an unsupported feature. </p>
<p>The decoder does not implement a feature required by the encoder. This return code should only be used for features that prevent future pictures from being properly decoded. This error <a class="el" href="rfc2119.html#MAY">MAY</a> be treated as fatal to the stream or <a class="el" href="rfc2119.html#MAY">MAY</a> be treated as fatal to the current GOP. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggada1084710837ad363b92f2379dd2b8d2a29d03c009e0479dbf4ecbd8db1011b85"></a><!-- doxytag: member="VPX_CODEC_CORRUPT_FRAME" ref="ggada1084710837ad363b92f2379dd2b8d2a29d03c009e0479dbf4ecbd8db1011b85" args="" -->VPX_CODEC_CORRUPT_FRAME</em>&nbsp;</td><td>
<p>The coded data for this stream is corrupt or incomplete. </p>
<p>There was a problem decoding the current frame. This return code should only be used for failures that prevent future pictures from being properly decoded. This error <a class="el" href="rfc2119.html#MAY">MAY</a> be treated as fatal to the stream or <a class="el" href="rfc2119.html#MAY">MAY</a> be treated as fatal to the current GOP. If decoding is continued for the current GOP, artifacts may be present. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggada1084710837ad363b92f2379dd2b8d2ab5857f7b5f03f8ca164fab8843a979df"></a><!-- doxytag: member="VPX_CODEC_INVALID_PARAM" ref="ggada1084710837ad363b92f2379dd2b8d2ab5857f7b5f03f8ca164fab8843a979df" args="" -->VPX_CODEC_INVALID_PARAM</em>&nbsp;</td><td>
<p>An application-supplied parameter is not valid. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggada1084710837ad363b92f2379dd2b8d2a452450a5adfcc14ef8a0ac12611dae21"></a><!-- doxytag: member="VPX_CODEC_LIST_END" ref="ggada1084710837ad363b92f2379dd2b8d2a452450a5adfcc14ef8a0ac12611dae21" args="" -->VPX_CODEC_LIST_END</em>&nbsp;</td><td>
<p>An iterator reached the end of list. </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga163037ae037ac760da65e4130c7d4767"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_version" ref="ga163037ae037ac760da65e4130c7d4767" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vpx_codec_version </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the version information (as an integer) </p>
<p>Returns a packed encoding of the library version number. This will only include the major.minor.patch component of the version number. Note that this encoded value should be accessed through the macros provided, as the encoding may change in the future. </p>

</div>
</div>
<a class="anchor" id="ga163fbcc6dd33827b28b9829a0a86cf59"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_version_str" ref="ga163fbcc6dd33827b28b9829a0a86cf59" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* vpx_codec_version_str </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the version information (as a string) </p>
<p>Returns a printable string containing the full library version number. This may contain additional text following the three digit version number, as to indicate release candidates, prerelease versions, etc. </p>

</div>
</div>
<a class="anchor" id="ga286c0d4271fea4c488d791154d8f9098"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_version_extra_str" ref="ga286c0d4271fea4c488d791154d8f9098" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* vpx_codec_version_extra_str </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the version information (as a string) </p>
<p>Returns a printable "extra string". This is the component of the string returned by <a class="el" href="group__codec.html#ga163fbcc6dd33827b28b9829a0a86cf59" title="Return the version information (as a string)">vpx_codec_version_str()</a> following the three digit version number. </p>

</div>
</div>
<a class="anchor" id="ga20922bad85472e76d5f61c21cb423af7"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_build_config" ref="ga20922bad85472e76d5f61c21cb423af7" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* vpx_codec_build_config </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the build configuration. </p>
<p>Returns a printable string containing an encoded version of the build configuration. This may be useful to vpx support. </p>

</div>
</div>
<a class="anchor" id="ga9eee39f450d8cdcf5aba0e2bda6e5aa8"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_iface_name" ref="ga9eee39f450d8cdcf5aba0e2bda6e5aa8" args="(vpx_codec_iface_t *iface)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* vpx_codec_iface_name </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> *&#160;</td>
          <td class="paramname"><em>iface</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the name for a given interface. </p>
<p>Returns a human readable string for name of the given codec interface.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">iface</td><td>Interface pointer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaaddf5c1f609ef18c7c8800d102fcefa6"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_err_to_string" ref="gaaddf5c1f609ef18c7c8800d102fcefa6" args="(vpx_codec_err_t err)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* vpx_codec_err_to_string </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a>&#160;</td>
          <td class="paramname"><em>err</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convert error number to printable string. </p>
<p>Returns a human readable string for the last error returned by the algorithm. The returned error will be one line and will not contain any newline characters.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">err</td><td>Error number. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga4d265df00d42b36a4f0e3eb83fc22c5e"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_error" ref="ga4d265df00d42b36a4f0e3eb83fc22c5e" args="(vpx_codec_ctx_t *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* vpx_codec_error </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *&#160;</td>
          <td class="paramname"><em>ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve error synopsis for codec context. </p>
<p>Returns a human readable string for the last error returned by the algorithm. The returned error will be one line and will not contain any newline characters.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Pointer to this instance's context. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga29273cb552ed1a437fe263c4a0a54300"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_error_detail" ref="ga29273cb552ed1a437fe263c4a0a54300" args="(vpx_codec_ctx_t *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* vpx_codec_error_detail </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *&#160;</td>
          <td class="paramname"><em>ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Retrieve detailed error information for codec context. </p>
<p>Returns a human readable string providing detailed information about the last error.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Pointer to this instance's context.</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">NULL</td><td>No detailed information is available. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga6ae21d96909660d0ac978b59a863f53b"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_destroy" ref="ga6ae21d96909660d0ac978b59a863f53b" args="(vpx_codec_ctx_t *ctx)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> vpx_codec_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *&#160;</td>
          <td class="paramname"><em>ctx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Destroy a codec instance. </p>
<p>Destroys a codec context, freeing any associated memory buffers.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Pointer to this instance's context</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2af1dcde74b1c5ff7b29f31246dfd90986" title="Operation completed without error.">VPX_CODEC_OK</a></td><td>The codec algorithm initialized. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2a96c6d2600dc0ec25c2cb798e8d2f4760" title="Memory operation failed.">VPX_CODEC_MEM_ERROR</a></td><td>Memory allocation failed. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga43adff58759093401235fb99247c82b8"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_get_caps" ref="ga43adff58759093401235fb99247c82b8" args="(vpx_codec_iface_t *iface)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__codec.html#gad2b690c0ef83cbd83a7234078791913f">vpx_codec_caps_t</a> vpx_codec_get_caps </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> *&#160;</td>
          <td class="paramname"><em>iface</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the capabilities of an algorithm. </p>
<p>Retrieves the capabilities bitfield from the algorithm's interface.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">iface</td><td>Pointer to the algorithm interface </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="gaf7849b69cc390b21d889c8c71f69ec14"></a><!-- doxytag: member="vpx_codec.h::vpx_codec_control_" ref="gaf7849b69cc390b21d889c8c71f69ec14" args="(vpx_codec_ctx_t *ctx, int ctrl_id,...)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> vpx_codec_control_ </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *&#160;</td>
          <td class="paramname"><em>ctx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ctrl_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Control algorithm. </p>
<p>This function is used to exchange algorithm specific data with the codec instance. This can be used to implement features specific to a particular algorithm.</p>
<p>This wrapper function dispatches the request to the helper function associated with the given ctrl_id. It tries to call this function transparently, but will return <a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2abd8a8f9c2588adab5d764d957e265135" title="Unspecified error.">VPX_CODEC_ERROR</a> if the request could not be dispatched.</p>
<p>Note that this function should not be used directly. Call the <a class="el" href="group__codec.html#gac1b91e04698c1bd4c0a2b8aa85b08cd2" title="vpx_codec_control wrapper macro">vpx_codec_control</a> wrapper macro instead.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ctx</td><td>Pointer to this instance's context </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ctrl_id</td><td>Algorithm specific control identifier</td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname"><a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2af1dcde74b1c5ff7b29f31246dfd90986" title="Operation completed without error.">VPX_CODEC_OK</a></td><td>The control request was processed. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2abd8a8f9c2588adab5d764d957e265135" title="Unspecified error.">VPX_CODEC_ERROR</a></td><td>The control request was not processed. </td></tr>
    <tr><td class="paramname"><a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2ab5857f7b5f03f8ca164fab8843a979df" title="An application-supplied parameter is not valid.">VPX_CODEC_INVALID_PARAM</a></td><td>The data was not valid. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Mon Jan 30 2012 for WebM VP8 Codec SDK by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>