Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > a3df0d9d8542dc1f46770d317f9f7add > files > 54

libvpx-devel-0.9.6-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: Decoder 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.3 -->
<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="#func-members">Functions</a>  </div>
  <div class="headertitle">
<h1>Decoder Algorithm Interface</h1>  </div>
<div class="ingroups"><a class="el" href="group__codec.html">Common Algorithm Interface</a></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__stream__info.html">vpx_codec_stream_info</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stream properties.  <a href="structvpx__codec__stream__info.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__dec__cfg.html">vpx_codec_dec_cfg</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization Configurations.  <a href="structvpx__codec__dec__cfg.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__put__frame.html">Frame-Based Decoding Functions</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__cap__put__slice.html">Slice-Based Decoding Functions</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__decoder_8h.html">vpx_decoder.h</a></td></tr>

<p><tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Describes the decoder 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="gae9d9e73841dd64cb26053738963e7e69"></a><!-- doxytag: member="decoder::VPX_DECODER_H" ref="gae9d9e73841dd64cb26053738963e7e69" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>VPX_DECODER_H</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga462b459e7ae13937e1eae1776245db12"></a><!-- doxytag: member="decoder::VPX_DECODER_ABI_VERSION" ref="ga462b459e7ae13937e1eae1776245db12" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__decoder.html#ga462b459e7ae13937e1eae1776245db12">VPX_DECODER_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__decoder.html#ga9e33b8ee81025d5fc3d01b0975ad5f96">VPX_CODEC_CAP_PUT_SLICE</a>&#160;&#160;&#160;0x10000</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decoder capabilities bitfield.  <a href="#ga9e33b8ee81025d5fc3d01b0975ad5f96"></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__decoder.html#ga0ef59ca8067ac1dc8c8378042277ccc8">VPX_CODEC_CAP_PUT_FRAME</a>&#160;&#160;&#160;0x20000</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__decoder.html#ga7825ade982ab85a5583d3d8a669baa3b">VPX_CODEC_CAP_POSTPROC</a>&#160;&#160;&#160;0x40000</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__decoder.html#ga6fe14f30254aff769412b128b29664cc">VPX_CODEC_USE_POSTPROC</a>&#160;&#160;&#160;0x10000</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization-time Feature Enabling.  <a href="#ga6fe14f30254aff769412b128b29664cc"></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__decoder.html#ga8c2f0b12f1bd4927eb3c68b01eab19d3">vpx_codec_dec_init</a>(ctx, iface, cfg, flags)&#160;&#160;&#160;vpx_codec_dec_init_ver(ctx, iface, cfg, flags, VPX_DECODER_ABI_VERSION)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience macro for <a class="el" href="group__decoder.html#ga26fe82cf8fd697f885935cea53be964f" title="Initialize a decoder instance.">vpx_codec_dec_init_ver()</a>  <a href="#ga8c2f0b12f1bd4927eb3c68b01eab19d3"></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 struct <br class="typebreak"/>
<a class="el" href="structvpx__codec__stream__info.html">vpx_codec_stream_info</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__decoder.html#ga900420e8f7cb9c1b3070b2ba7d636974">vpx_codec_stream_info_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stream properties.  <a href="#ga900420e8f7cb9c1b3070b2ba7d636974"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structvpx__codec__dec__cfg.html">vpx_codec_dec_cfg</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__decoder.html#ga4a2e808eb43f1e798024b5a409c484f9">vpx_codec_dec_cfg_t</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization Configurations.  <a href="#ga4a2e808eb43f1e798024b5a409c484f9"></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"><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__decoder.html#ga26fe82cf8fd697f885935cea53be964f">vpx_codec_dec_init_ver</a> (<a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx, <a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> *iface, <a class="el" href="structvpx__codec__dec__cfg.html">vpx_codec_dec_cfg_t</a> *cfg, <a class="el" href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877">vpx_codec_flags_t</a> flags, int ver)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a decoder instance.  <a href="#ga26fe82cf8fd697f885935cea53be964f"></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__decoder.html#gadfee4664d644175d5aac1465ef11c4b0">vpx_codec_peek_stream_info</a> (<a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> *iface, const uint8_t *data, unsigned int data_sz, <a class="el" href="structvpx__codec__stream__info.html">vpx_codec_stream_info_t</a> *si)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse stream info from a buffer.  <a href="#gadfee4664d644175d5aac1465ef11c4b0"></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__decoder.html#ga552f1044d36a84e8b05ce6902e9ae8c9">vpx_codec_get_stream_info</a> (<a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx, <a class="el" href="structvpx__codec__stream__info.html">vpx_codec_stream_info_t</a> *si)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return information about the current stream.  <a href="#ga552f1044d36a84e8b05ce6902e9ae8c9"></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__decoder.html#ga3441e157a7a69108bca9a069f2ee8e0d">vpx_codec_decode</a> (<a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx, const uint8_t *data, unsigned int data_sz, void *user_priv, long deadline)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode data.  <a href="#ga3441e157a7a69108bca9a069f2ee8e0d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structvpx__image.html">vpx_image_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__decoder.html#ga0e231c3a5ce445fdb2268d741da97500">vpx_codec_get_frame</a> (<a class="el" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx, <a class="el" href="group__codec.html#ga6ea348f76b1f8a1fe50e14db684146c6">vpx_codec_iter_t</a> *iter)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decoded frames iterator.  <a href="#ga0e231c3a5ce445fdb2268d741da97500"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>This abstraction allows applications using this decoder to easily support multiple video formats with minimal code duplication. This section describes the interface common to all decoders. </p>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga9e33b8ee81025d5fc3d01b0975ad5f96"></a><!-- doxytag: member="vpx_decoder.h::VPX_CODEC_CAP_PUT_SLICE" ref="ga9e33b8ee81025d5fc3d01b0975ad5f96" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CODEC_CAP_PUT_SLICE&#160;&#160;&#160;0x10000</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Decoder capabilities bitfield. </p>
<p>Each decoder 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 by a decoder.</p>
<p>The available flags are specified by VPX_CODEC_CAP_* defines. Will issue put_slice callbacks </p>

</div>
</div>
<a class="anchor" id="ga0ef59ca8067ac1dc8c8378042277ccc8"></a><!-- doxytag: member="vpx_decoder.h::VPX_CODEC_CAP_PUT_FRAME" ref="ga0ef59ca8067ac1dc8c8378042277ccc8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CODEC_CAP_PUT_FRAME&#160;&#160;&#160;0x20000</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Will issue put_frame callbacks </p>

</div>
</div>
<a class="anchor" id="ga7825ade982ab85a5583d3d8a669baa3b"></a><!-- doxytag: member="vpx_decoder.h::VPX_CODEC_CAP_POSTPROC" ref="ga7825ade982ab85a5583d3d8a669baa3b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CODEC_CAP_POSTPROC&#160;&#160;&#160;0x40000</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Can postprocess decoded frame </p>

</div>
</div>
<a class="anchor" id="ga6fe14f30254aff769412b128b29664cc"></a><!-- doxytag: member="vpx_decoder.h::VPX_CODEC_USE_POSTPROC" ref="ga6fe14f30254aff769412b128b29664cc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VPX_CODEC_USE_POSTPROC&#160;&#160;&#160;0x10000</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. Postprocess decoded frame </p>

</div>
</div>
<a class="anchor" id="ga8c2f0b12f1bd4927eb3c68b01eab19d3"></a><!-- doxytag: member="vpx_decoder.h::vpx_codec_dec_init" ref="ga8c2f0b12f1bd4927eb3c68b01eab19d3" args="(ctx, iface, cfg, flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define vpx_codec_dec_init</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">iface, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">cfg, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">flags&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;vpx_codec_dec_init_ver(ctx, iface, cfg, flags, VPX_DECODER_ABI_VERSION)</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Convenience macro for <a class="el" href="group__decoder.html#ga26fe82cf8fd697f885935cea53be964f" title="Initialize a decoder instance.">vpx_codec_dec_init_ver()</a> </p>
<p>Ensures the ABI version parameter is properly set. </p>

</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ga900420e8f7cb9c1b3070b2ba7d636974"></a><!-- doxytag: member="vpx_decoder.h::vpx_codec_stream_info_t" ref="ga900420e8f7cb9c1b3070b2ba7d636974" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structvpx__codec__stream__info.html">vpx_codec_stream_info</a>  <a class="el" href="structvpx__codec__stream__info.html">vpx_codec_stream_info_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Stream properties. </p>
<p>This structure is used to query or set properties of the decoded stream. Algorithms may extend this structure with data specific to their bitstream by setting the sz member appropriately. </p>

</div>
</div>
<a class="anchor" id="ga4a2e808eb43f1e798024b5a409c484f9"></a><!-- doxytag: member="vpx_decoder.h::vpx_codec_dec_cfg_t" ref="ga4a2e808eb43f1e798024b5a409c484f9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structvpx__codec__dec__cfg.html">vpx_codec_dec_cfg</a>  <a class="el" href="structvpx__codec__dec__cfg.html">vpx_codec_dec_cfg_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialization Configurations. </p>
<p>This structure is used to pass init time configuration options to the decoder. alias for struct <a class="el" href="structvpx__codec__dec__cfg.html" title="Initialization Configurations.">vpx_codec_dec_cfg</a> </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga26fe82cf8fd697f885935cea53be964f"></a><!-- doxytag: member="vpx_decoder.h::vpx_codec_dec_init_ver" ref="ga26fe82cf8fd697f885935cea53be964f" args="(vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, vpx_codec_dec_cfg_t *cfg, vpx_codec_flags_t flags, int ver)" -->
<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_dec_init_ver </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"><a class="el" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> *&#160;</td>
          <td class="paramname"><em>iface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structvpx__codec__dec__cfg.html">vpx_codec_dec_cfg_t</a> *&#160;</td>
          <td class="paramname"><em>cfg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877">vpx_codec_flags_t</a>&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ver</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize a decoder instance. </p>
<p>Initializes a decoder context using the given interface. Applications should call the vpx_codec_dec_init convenience macro instead of this function directly, to ensure that the ABI version number parameter is properly initialized.</p>
<p>In XMA mode (activated by setting VPX_CODEC_USE_XMA in the flags parameter), the storage pointed to by the cfg parameter must be kept readable and stable until all memory maps have been set.</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">iface</td><td>Pointer to the algorithm interface to use. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cfg</td><td>Configuration to use, if known. May be NULL. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">flags</td><td>Bitfield of VPX_CODEC_USE_* flags </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">ver</td><td>ABI version number. Must be set to VPX_DECODER_ABI_VERSION </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 decoder 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="gadfee4664d644175d5aac1465ef11c4b0"></a><!-- doxytag: member="vpx_decoder.h::vpx_codec_peek_stream_info" ref="gadfee4664d644175d5aac1465ef11c4b0" args="(vpx_codec_iface_t *iface, const uint8_t *data, unsigned int data_sz, vpx_codec_stream_info_t *si)" -->
<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_peek_stream_info </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>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>data_sz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structvpx__codec__stream__info.html">vpx_codec_stream_info_t</a> *&#160;</td>
          <td class="paramname"><em>si</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Parse stream info from a buffer. </p>
<p>Performs high level parsing of the bitstream. Construction of a decoder context is not necessary. Can be used to determine if the bitstream is of the proper format, and to extract information from the stream.</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>
    <tr><td class="paramdir">[in]</td><td class="paramname">data</td><td>Pointer to a block of data to parse </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_sz</td><td>Size of the data buffer </td></tr>
    <tr><td class="paramdir">[in,out]</td><td class="paramname">si</td><td>Pointer to stream info to update. The size member <a class="el" href="rfc2119.html#MUST">MUST</a> be properly initialized, but <a class="el" href="rfc2119.html#MAY">MAY</a> be clobbered by the algorithm. This parameter <a class="el" href="rfc2119.html#MAY">MAY</a> be NULL.</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>Bitstream is parsable and stream information updated </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga552f1044d36a84e8b05ce6902e9ae8c9"></a><!-- doxytag: member="vpx_decoder.h::vpx_codec_get_stream_info" ref="ga552f1044d36a84e8b05ce6902e9ae8c9" args="(vpx_codec_ctx_t *ctx, vpx_codec_stream_info_t *si)" -->
<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_get_stream_info </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"><a class="el" href="structvpx__codec__stream__info.html">vpx_codec_stream_info_t</a> *&#160;</td>
          <td class="paramname"><em>si</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return information about the current stream. </p>
<p>Returns information about the stream that has been parsed during decoding.</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,out]</td><td class="paramname">si</td><td>Pointer to stream info to update. The size member <a class="el" href="rfc2119.html#MUST">MUST</a> be properly initialized, but <a class="el" href="rfc2119.html#MAY">MAY</a> be clobbered by the algorithm. This parameter <a class="el" href="rfc2119.html#MAY">MAY</a> be NULL.</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>Bitstream is parsable and stream information updated </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ga3441e157a7a69108bca9a069f2ee8e0d"></a><!-- doxytag: member="vpx_decoder.h::vpx_codec_decode" ref="ga3441e157a7a69108bca9a069f2ee8e0d" args="(vpx_codec_ctx_t *ctx, const uint8_t *data, unsigned int data_sz, void *user_priv, long deadline)" -->
<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_decode </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">const uint8_t *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>data_sz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>user_priv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>deadline</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Decode data. </p>
<p>Processes a buffer of coded data. If the processing results in a new decoded frame becoming available, PUT_SLICE and PUT_FRAME events may be generated, as appropriate. Encoded data <a class="el" href="rfc2119.html#MUST">MUST</a> be passed in DTS (decode time stamp) order. Frames produced will always be in PTS (presentation time stamp) order.</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">data</td><td>Pointer to this block of new coded data. If NULL, a VPX_CODEC_CB_PUT_FRAME event is posted for the previously decoded frame. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">data_sz</td><td>Size of the coded data, in bytes. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">user_priv</td><td>Application specific data to associate with this frame. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">deadline</td><td>Soft deadline the decoder should attempt to meet, in us. Set to zero for unlimited.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns <a class="el" href="group__codec.html#ggada1084710837ad363b92f2379dd2b8d2af1dcde74b1c5ff7b29f31246dfd90986" title="Operation completed without error.">VPX_CODEC_OK</a> if the coded data was processed completely and future pictures can be decoded without error. Otherwise, see the descriptions of the other error codes in <a class="el" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2" title="Algorithm return codes.">vpx_codec_err_t</a> for recoverability capabilities. </dd></dl>

</div>
</div>
<a class="anchor" id="ga0e231c3a5ce445fdb2268d741da97500"></a><!-- doxytag: member="vpx_decoder.h::vpx_codec_get_frame" ref="ga0e231c3a5ce445fdb2268d741da97500" args="(vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structvpx__image.html">vpx_image_t</a>* vpx_codec_get_frame </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"><a class="el" href="group__codec.html#ga6ea348f76b1f8a1fe50e14db684146c6">vpx_codec_iter_t</a> *&#160;</td>
          <td class="paramname"><em>iter</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Decoded frames iterator. </p>
<p>Iterates over a list of the frames available for display. The iterator storage should be initialized to NULL to start the iteration. Iteration is complete when this function returns NULL.</p>
<p>The list of available frames becomes valid upon completion of the vpx_codec_decode call, and remains valid until the next call to vpx_codec_decode.</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,out]</td><td class="paramname">iter</td><td>Iterator storage, initialized to NULL</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Returns a pointer to an image, if one is ready for display. Frames produced will always be in PTS (presentation time stamp) order. </dd></dl>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Thu Mar 10 2011 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.3 </small></address>
</body>
</html>