<!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>WebM VP8 Codec SDK: vpx/vpx_codec.h File Reference</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">WebM VP8 Codec SDK </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="pages.html"><span>Related Pages</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 class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_ce0ab26228883e873492c15423e35021.html">vpx</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Data Structures</a> | <a href="#define-members">Macros</a> | <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">vpx_codec.h File Reference<div class="ingroups"><a class="el" href="group__codec.html">Common Algorithm Interface</a></div></div> </div> </div><!--header--> <div class="contents"> <p>Describes the codec algorithm interface to applications. <a href="#details">More...</a></p> <div class="textblock"><code>#include "vpx_integer.h"</code><br/> <code>#include "<a class="el" href="vpx__image_8h_source.html">vpx_image.h</a>"</code><br/> </div> <p><a href="vpx__codec_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Data Structures</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Codec context structure. <a href="structvpx__codec__ctx.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__mmap.html">vpx_codec_mmap</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Memory Map Entry. <a href="structvpx__codec__mmap.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> Macros</h2></td></tr> <tr class="memitem:ga148a1b7418b30ecd9abb3413782aecd1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga148a1b7418b30ecd9abb3413782aecd1"></a> #define </td><td class="memItemRight" valign="bottom"><b>VPX_CODEC_H</b></td></tr> <tr class="separator:ga148a1b7418b30ecd9abb3413782aecd1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac1e8a42306d8e67cb94ca31c3956ee78"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac1e8a42306d8e67cb94ca31c3956ee78"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gac1e8a42306d8e67cb94ca31c3956ee78">DEPRECATED</a></td></tr> <tr class="memdesc:gac1e8a42306d8e67cb94ca31c3956ee78"><td class="mdescLeft"> </td><td class="mdescRight">Decorator indicating a function is deprecated. <br/></td></tr> <tr class="separator:gac1e8a42306d8e67cb94ca31c3956ee78"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab61b56b074706ee8423d864b511212ad"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gab61b56b074706ee8423d864b511212ad">DECLSPEC_DEPRECATED</a></td></tr> <tr class="memdesc:gab61b56b074706ee8423d864b511212ad"><td class="mdescLeft"> </td><td class="mdescRight">Decorator indicating a function is deprecated. <a href="group__codec.html#gab61b56b074706ee8423d864b511212ad"></a><br/></td></tr> <tr class="separator:gab61b56b074706ee8423d864b511212ad"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaddf5ec070e9499d36b7f2009ce736076"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaddf5ec070e9499d36b7f2009ce736076"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaddf5ec070e9499d36b7f2009ce736076">UNUSED</a></td></tr> <tr class="memdesc:gaddf5ec070e9499d36b7f2009ce736076"><td class="mdescLeft"> </td><td class="mdescRight">Decorator indicating a function is potentially unused. <br/></td></tr> <tr class="separator:gaddf5ec070e9499d36b7f2009ce736076"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf7e9cad2df0f81679b881f46740ad097"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf7e9cad2df0f81679b881f46740ad097"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaf7e9cad2df0f81679b881f46740ad097">VPX_CODEC_ABI_VERSION</a></td></tr> <tr class="memdesc:gaf7e9cad2df0f81679b881f46740ad097"><td class="mdescLeft"> </td><td class="mdescRight">Current ABI version number. <br/></td></tr> <tr class="separator:gaf7e9cad2df0f81679b881f46740ad097"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gae10ad7f9548170aef77df09d48ad108a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gae10ad7f9548170aef77df09d48ad108a">VPX_CODEC_CAP_DECODER</a>   0x1</td></tr> <tr class="separator:gae10ad7f9548170aef77df09d48ad108a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab2e8b76fff95ebd573a17bdc11f8a441"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gab2e8b76fff95ebd573a17bdc11f8a441">VPX_CODEC_CAP_ENCODER</a>   0x2</td></tr> <tr class="separator:gab2e8b76fff95ebd573a17bdc11f8a441"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadbaf864317eb8294fd518862a1e6f9d4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gadbaf864317eb8294fd518862a1e6f9d4">VPX_CODEC_CAP_XMA</a>   0x4</td></tr> <tr class="separator:gadbaf864317eb8294fd518862a1e6f9d4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab363c255f13717f693762c3dcf0b93d6"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gab363c255f13717f693762c3dcf0b93d6">VPX_CODEC_USE_XMA</a>   0x00000001</td></tr> <tr class="separator:gab363c255f13717f693762c3dcf0b93d6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gadebddd67347fe47c0772b1e06b6173ba"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gadebddd67347fe47c0772b1e06b6173ba">VPX_VERSION_MAJOR</a>(v)   ((v>>16)&0xff)</td></tr> <tr class="separator:gadebddd67347fe47c0772b1e06b6173ba"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4a5ce4588576306dee0d95e8f8706f86"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga4a5ce4588576306dee0d95e8f8706f86">VPX_VERSION_MINOR</a>(v)   ((v>>8)&0xff)</td></tr> <tr class="separator:ga4a5ce4588576306dee0d95e8f8706f86"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4acf2cf4c35ff123d17cd67c069fdbaa"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga4acf2cf4c35ff123d17cd67c069fdbaa">VPX_VERSION_PATCH</a>(v)   ((v>>0)&0xff)</td></tr> <tr class="separator:ga4acf2cf4c35ff123d17cd67c069fdbaa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf314b746e4e202045e85ac073c29a495"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf314b746e4e202045e85ac073c29a495"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaf314b746e4e202045e85ac073c29a495">vpx_codec_version_major</a>()   ((<a class="el" href="group__codec.html#ga163037ae037ac760da65e4130c7d4767">vpx_codec_version</a>()>>16)&0xff)</td></tr> <tr class="memdesc:gaf314b746e4e202045e85ac073c29a495"><td class="mdescLeft"> </td><td class="mdescRight">Return the version major number. <br/></td></tr> <tr class="separator:gaf314b746e4e202045e85ac073c29a495"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2b668688a7d1551ea89bcda8f2587f93"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2b668688a7d1551ea89bcda8f2587f93"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga2b668688a7d1551ea89bcda8f2587f93">vpx_codec_version_minor</a>()   ((<a class="el" href="group__codec.html#ga163037ae037ac760da65e4130c7d4767">vpx_codec_version</a>()>>8)&0xff)</td></tr> <tr class="memdesc:ga2b668688a7d1551ea89bcda8f2587f93"><td class="mdescLeft"> </td><td class="mdescRight">Return the version minor number. <br/></td></tr> <tr class="separator:ga2b668688a7d1551ea89bcda8f2587f93"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga8ed64bded0d763fa2158312ac8fbcf26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8ed64bded0d763fa2158312ac8fbcf26"></a> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga8ed64bded0d763fa2158312ac8fbcf26">vpx_codec_version_patch</a>()   ((<a class="el" href="group__codec.html#ga163037ae037ac760da65e4130c7d4767">vpx_codec_version</a>()>>0)&0xff)</td></tr> <tr class="memdesc:ga8ed64bded0d763fa2158312ac8fbcf26"><td class="mdescLeft"> </td><td class="mdescRight">Return the version patch number. <br/></td></tr> <tr class="separator:ga8ed64bded0d763fa2158312ac8fbcf26"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac1b91e04698c1bd4c0a2b8aa85b08cd2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gac1b91e04698c1bd4c0a2b8aa85b08cd2">vpx_codec_control</a>(ctx, id, data)</td></tr> <tr class="memdesc:gac1b91e04698c1bd4c0a2b8aa85b08cd2"><td class="mdescLeft"> </td><td class="mdescRight">vpx_codec_control wrapper macro <a href="group__codec.html#gac1b91e04698c1bd4c0a2b8aa85b08cd2"></a><br/></td></tr> <tr class="separator:gac1b91e04698c1bd4c0a2b8aa85b08cd2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaa7409a4cb58b155912f41a4d39d81a8a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a">VPX_CTRL_USE_TYPE</a>(id, typ)</td></tr> <tr class="memdesc:gaa7409a4cb58b155912f41a4d39d81a8a"><td class="mdescLeft"> </td><td class="mdescRight">vpx_codec_control type definition macro <a href="group__codec.html#gaa7409a4cb58b155912f41a4d39d81a8a"></a><br/></td></tr> <tr class="separator:gaa7409a4cb58b155912f41a4d39d81a8a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga147463efbdbe3b9823e054fe2d56851b"><td class="memItemLeft" align="right" valign="top">#define </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 class="memdesc:ga147463efbdbe3b9823e054fe2d56851b"><td class="mdescLeft"> </td><td class="mdescRight">vpx_codec_control deprecated type definition macro <a href="group__codec.html#ga147463efbdbe3b9823e054fe2d56851b"></a><br/></td></tr> <tr class="separator:ga147463efbdbe3b9823e054fe2d56851b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga2610354d13efd9ca04fb95823aeda773"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga2610354d13efd9ca04fb95823aeda773">VPX_CTRL_VOID</a>(id)</td></tr> <tr class="memdesc:ga2610354d13efd9ca04fb95823aeda773"><td class="mdescLeft"> </td><td class="mdescRight">vpx_codec_control void type definition macro <a href="group__codec.html#ga2610354d13efd9ca04fb95823aeda773"></a><br/></td></tr> <tr class="separator:ga2610354d13efd9ca04fb95823aeda773"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a0a5b645a72e936464b1a9144bcbabed2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__codec_8h.html#a0a5b645a72e936464b1a9144bcbabed2">VPX_CODEC_MEM_ZERO</a>   0x1</td></tr> <tr class="separator:a0a5b645a72e936464b1a9144bcbabed2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7165be67097e7553d0983962a8828cf5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__codec_8h.html#a7165be67097e7553d0983962a8828cf5">VPX_CODEC_MEM_WRONLY</a>   0x2</td></tr> <tr class="separator:a7165be67097e7553d0983962a8828cf5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2d57a8f37a8f8c9cc3497759ffc52b2a"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="vpx__codec_8h.html#a2d57a8f37a8f8c9cc3497759ffc52b2a">VPX_CODEC_MEM_FAST</a>   0x4</td></tr> <tr class="separator:a2d57a8f37a8f8c9cc3497759ffc52b2a"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr class="memitem:gad2b690c0ef83cbd83a7234078791913f"><td class="memItemLeft" align="right" valign="top">typedef long </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gad2b690c0ef83cbd83a7234078791913f">vpx_codec_caps_t</a></td></tr> <tr class="memdesc:gad2b690c0ef83cbd83a7234078791913f"><td class="mdescLeft"> </td><td class="mdescRight">Codec capabilities bitfield. <a href="group__codec.html#gad2b690c0ef83cbd83a7234078791913f"></a><br/></td></tr> <tr class="separator:gad2b690c0ef83cbd83a7234078791913f"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga3b36d5af89ddc463489fe5bde0a57877"><td class="memItemLeft" align="right" valign="top">typedef long </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877">vpx_codec_flags_t</a></td></tr> <tr class="memdesc:ga3b36d5af89ddc463489fe5bde0a57877"><td class="mdescLeft"> </td><td class="mdescRight">Initialization-time Feature Enabling. <a href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877"></a><br/></td></tr> <tr class="separator:ga3b36d5af89ddc463489fe5bde0a57877"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad654f3da60151f5dfef70aca00ef1e9e"><td class="memItemLeft" align="right" valign="top">typedef struct vpx_codec_iface </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a></td></tr> <tr class="memdesc:gad654f3da60151f5dfef70aca00ef1e9e"><td class="mdescLeft"> </td><td class="mdescRight">Codec interface structure. <a href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e"></a><br/></td></tr> <tr class="separator:gad654f3da60151f5dfef70aca00ef1e9e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga1e262f91be9141a7176335fd409397ab"><td class="memItemLeft" align="right" valign="top">typedef struct vpx_codec_priv </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga1e262f91be9141a7176335fd409397ab">vpx_codec_priv_t</a></td></tr> <tr class="memdesc:ga1e262f91be9141a7176335fd409397ab"><td class="mdescLeft"> </td><td class="mdescRight">Codec private data structure. <a href="group__codec.html#ga1e262f91be9141a7176335fd409397ab"></a><br/></td></tr> <tr class="separator:ga1e262f91be9141a7176335fd409397ab"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6ea348f76b1f8a1fe50e14db684146c6"><td class="memItemLeft" align="right" valign="top">typedef const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga6ea348f76b1f8a1fe50e14db684146c6">vpx_codec_iter_t</a></td></tr> <tr class="memdesc:ga6ea348f76b1f8a1fe50e14db684146c6"><td class="mdescLeft"> </td><td class="mdescRight">Iterator. <a href="group__codec.html#ga6ea348f76b1f8a1fe50e14db684146c6"></a><br/></td></tr> <tr class="separator:ga6ea348f76b1f8a1fe50e14db684146c6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gad03e2dfa6ae511db7d25be6bbb336233"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gad03e2dfa6ae511db7d25be6bbb336233">vpx_codec_ctx_t</a></td></tr> <tr class="memdesc:gad03e2dfa6ae511db7d25be6bbb336233"><td class="mdescLeft"> </td><td class="mdescRight">Codec context structure. <a href="group__codec.html#gad03e2dfa6ae511db7d25be6bbb336233"></a><br/></td></tr> <tr class="separator:gad03e2dfa6ae511db7d25be6bbb336233"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaca7501932c5ec8a876729f661b752f07"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvpx__codec__mmap.html">vpx_codec_mmap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cap__xma.html#gaca7501932c5ec8a876729f661b752f07">vpx_codec_mmap_t</a></td></tr> <tr class="memdesc:gaca7501932c5ec8a876729f661b752f07"><td class="mdescLeft"> </td><td class="mdescRight">Memory Map Entry. <a href="group__cap__xma.html#gaca7501932c5ec8a876729f661b752f07"></a><br/></td></tr> <tr class="separator:gaca7501932c5ec8a876729f661b752f07"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:gada1084710837ad363b92f2379dd2b8d2"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> { <br/>   <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/>   <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/>   <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 class="memdesc:gada1084710837ad363b92f2379dd2b8d2"><td class="mdescLeft"> </td><td class="mdescRight">Algorithm return codes. <a href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">More...</a><br/></td></tr> <tr class="separator:gada1084710837ad363b92f2379dd2b8d2"><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:ga163037ae037ac760da65e4130c7d4767"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga163037ae037ac760da65e4130c7d4767">vpx_codec_version</a> (void)</td></tr> <tr class="memdesc:ga163037ae037ac760da65e4130c7d4767"><td class="mdescLeft"> </td><td class="mdescRight">Return the version information (as an integer) <a href="group__codec.html#ga163037ae037ac760da65e4130c7d4767"></a><br/></td></tr> <tr class="separator:ga163037ae037ac760da65e4130c7d4767"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga163fbcc6dd33827b28b9829a0a86cf59"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga163fbcc6dd33827b28b9829a0a86cf59">vpx_codec_version_str</a> (void)</td></tr> <tr class="memdesc:ga163fbcc6dd33827b28b9829a0a86cf59"><td class="mdescLeft"> </td><td class="mdescRight">Return the version information (as a string) <a href="group__codec.html#ga163fbcc6dd33827b28b9829a0a86cf59"></a><br/></td></tr> <tr class="separator:ga163fbcc6dd33827b28b9829a0a86cf59"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga286c0d4271fea4c488d791154d8f9098"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga286c0d4271fea4c488d791154d8f9098">vpx_codec_version_extra_str</a> (void)</td></tr> <tr class="memdesc:ga286c0d4271fea4c488d791154d8f9098"><td class="mdescLeft"> </td><td class="mdescRight">Return the version information (as a string) <a href="group__codec.html#ga286c0d4271fea4c488d791154d8f9098"></a><br/></td></tr> <tr class="separator:ga286c0d4271fea4c488d791154d8f9098"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga20922bad85472e76d5f61c21cb423af7"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga20922bad85472e76d5f61c21cb423af7">vpx_codec_build_config</a> (void)</td></tr> <tr class="memdesc:ga20922bad85472e76d5f61c21cb423af7"><td class="mdescLeft"> </td><td class="mdescRight">Return the build configuration. <a href="group__codec.html#ga20922bad85472e76d5f61c21cb423af7"></a><br/></td></tr> <tr class="separator:ga20922bad85472e76d5f61c21cb423af7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9eee39f450d8cdcf5aba0e2bda6e5aa8"><td class="memItemLeft" align="right" valign="top">const char * </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 class="memdesc:ga9eee39f450d8cdcf5aba0e2bda6e5aa8"><td class="mdescLeft"> </td><td class="mdescRight">Return the name for a given interface. <a href="group__codec.html#ga9eee39f450d8cdcf5aba0e2bda6e5aa8"></a><br/></td></tr> <tr class="separator:ga9eee39f450d8cdcf5aba0e2bda6e5aa8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaaddf5c1f609ef18c7c8800d102fcefa6"><td class="memItemLeft" align="right" valign="top">const char * </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 class="memdesc:gaaddf5c1f609ef18c7c8800d102fcefa6"><td class="mdescLeft"> </td><td class="mdescRight">Convert error number to printable string. <a href="group__codec.html#gaaddf5c1f609ef18c7c8800d102fcefa6"></a><br/></td></tr> <tr class="separator:gaaddf5c1f609ef18c7c8800d102fcefa6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga4d265df00d42b36a4f0e3eb83fc22c5e"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga4d265df00d42b36a4f0e3eb83fc22c5e">vpx_codec_error</a> (<a class="el" href="group__codec.html#gad03e2dfa6ae511db7d25be6bbb336233">vpx_codec_ctx_t</a> *ctx)</td></tr> <tr class="memdesc:ga4d265df00d42b36a4f0e3eb83fc22c5e"><td class="mdescLeft"> </td><td class="mdescRight">Retrieve error synopsis for codec context. <a href="group__codec.html#ga4d265df00d42b36a4f0e3eb83fc22c5e"></a><br/></td></tr> <tr class="separator:ga4d265df00d42b36a4f0e3eb83fc22c5e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga29273cb552ed1a437fe263c4a0a54300"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga29273cb552ed1a437fe263c4a0a54300">vpx_codec_error_detail</a> (<a class="el" href="group__codec.html#gad03e2dfa6ae511db7d25be6bbb336233">vpx_codec_ctx_t</a> *ctx)</td></tr> <tr class="memdesc:ga29273cb552ed1a437fe263c4a0a54300"><td class="mdescLeft"> </td><td class="mdescRight">Retrieve detailed error information for codec context. <a href="group__codec.html#ga29273cb552ed1a437fe263c4a0a54300"></a><br/></td></tr> <tr class="separator:ga29273cb552ed1a437fe263c4a0a54300"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga6ae21d96909660d0ac978b59a863f53b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#ga6ae21d96909660d0ac978b59a863f53b">vpx_codec_destroy</a> (<a class="el" href="group__codec.html#gad03e2dfa6ae511db7d25be6bbb336233">vpx_codec_ctx_t</a> *ctx)</td></tr> <tr class="memdesc:ga6ae21d96909660d0ac978b59a863f53b"><td class="mdescLeft"> </td><td class="mdescRight">Destroy a codec instance. <a href="group__codec.html#ga6ae21d96909660d0ac978b59a863f53b"></a><br/></td></tr> <tr class="separator:ga6ae21d96909660d0ac978b59a863f53b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga43adff58759093401235fb99247c82b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__codec.html#gad2b690c0ef83cbd83a7234078791913f">vpx_codec_caps_t</a> </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 class="memdesc:ga43adff58759093401235fb99247c82b8"><td class="mdescLeft"> </td><td class="mdescRight">Get the capabilities of an algorithm. <a href="group__codec.html#ga43adff58759093401235fb99247c82b8"></a><br/></td></tr> <tr class="separator:ga43adff58759093401235fb99247c82b8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf7849b69cc390b21d889c8c71f69ec14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__codec.html#gaf7849b69cc390b21d889c8c71f69ec14">vpx_codec_control_</a> (<a class="el" href="group__codec.html#gad03e2dfa6ae511db7d25be6bbb336233">vpx_codec_ctx_t</a> *ctx, int ctrl_id,...)</td></tr> <tr class="memdesc:gaf7849b69cc390b21d889c8c71f69ec14"><td class="mdescLeft"> </td><td class="mdescRight">Control algorithm. <a href="group__codec.html#gaf7849b69cc390b21d889c8c71f69ec14"></a><br/></td></tr> <tr class="separator:gaf7849b69cc390b21d889c8c71f69ec14"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga802003c8ed203def368a361fe0e92f13"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cap__xma.html#ga802003c8ed203def368a361fe0e92f13">vpx_codec_get_mem_map</a> (<a class="el" href="group__codec.html#gad03e2dfa6ae511db7d25be6bbb336233">vpx_codec_ctx_t</a> *ctx, <a class="el" href="group__cap__xma.html#gaca7501932c5ec8a876729f661b752f07">vpx_codec_mmap_t</a> *mmap, <a class="el" href="group__codec.html#ga6ea348f76b1f8a1fe50e14db684146c6">vpx_codec_iter_t</a> *iter)</td></tr> <tr class="memdesc:ga802003c8ed203def368a361fe0e92f13"><td class="mdescLeft"> </td><td class="mdescRight">Iterate over the list of segments to allocate. <a href="group__cap__xma.html#ga802003c8ed203def368a361fe0e92f13"></a><br/></td></tr> <tr class="separator:ga802003c8ed203def368a361fe0e92f13"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gac2df376a4d76282a5c117313182dcf53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__cap__xma.html#gac2df376a4d76282a5c117313182dcf53">vpx_codec_set_mem_map</a> (<a class="el" href="group__codec.html#gad03e2dfa6ae511db7d25be6bbb336233">vpx_codec_ctx_t</a> *ctx, <a class="el" href="group__cap__xma.html#gaca7501932c5ec8a876729f661b752f07">vpx_codec_mmap_t</a> *mmaps, unsigned int num_maps)</td></tr> <tr class="memdesc:gac2df376a4d76282a5c117313182dcf53"><td class="mdescLeft"> </td><td class="mdescRight">Identify allocated segments to codec instance. <a href="group__cap__xma.html#gac2df376a4d76282a5c117313182dcf53"></a><br/></td></tr> <tr class="separator:gac2df376a4d76282a5c117313182dcf53"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Describes the codec algorithm interface to applications. </p> <p>This file describes the interface between an application and a video codec algorithm.</p> <p>An application instantiates a specific codec instance by using vpx_codec_init() and a pointer to the algorithm's interface structure: </p> <pre> my_app.c: extern vpx_codec_iface_t my_codec; { vpx_codec_ctx_t algo; res = vpx_codec_init(&algo, &my_codec); } </pre><p>Once initialized, the instance is manged using other functions from the vpx_codec_* family. </p> </div><h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="a0a5b645a72e936464b1a9144bcbabed2"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_CODEC_MEM_ZERO   0x1</td> </tr> </table> </div><div class="memdoc"> <p>Segment must be zeroed by allocation </p> </div> </div> <a class="anchor" id="a7165be67097e7553d0983962a8828cf5"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_CODEC_MEM_WRONLY   0x2</td> </tr> </table> </div><div class="memdoc"> <p>Segment need not be readable </p> </div> </div> <a class="anchor" id="a2d57a8f37a8f8c9cc3497759ffc52b2a"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define VPX_CODEC_MEM_FAST   0x4</td> </tr> </table> </div><div class="memdoc"> <p>Place in fast memory, if available </p> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated 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>