Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > 6ea2d231c1a30a61c8cfd18d9bb77626 > files > 127

libvpx-devel-1.2.0-1.fc18.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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3"/>
<title>WebM VP8 Codec SDK: vpx/vpx_encoder.h Source File</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&#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 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&#160;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="headertitle">
<div class="title">vpx_encoder.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="vpx__encoder_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *  Use of this source code is governed by a BSD-style license</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *  that can be found in the LICENSE file in the root of the source</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *  tree. An additional intellectual property rights grant can be found</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *  in the file PATENTS.  All contributing project authors may</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *  be found in the AUTHORS file in the root of the source tree.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#ifndef VPX_ENCODER_H</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define VPX_ENCODER_H</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &quot;<a class="code" href="vpx__codec_8h.html" title="Describes the codec algorithm interface to applications.">vpx_codec.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="code" href="group__encoder.html#ga684b48cb6e47a258247637186557eb19">   38</a></span>&#160;<span class="preprocessor">#define VPX_TS_MAX_PERIODICITY 16</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="group__encoder.html#ga2715ac3dd8bf2f5438c4bbfc82788eb2">   41</a></span>&#160;<span class="preprocessor">#define VPX_TS_MAX_LAYERS       5</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="group__encoder.html#gae6569d89cc61cb190aeeb00a1b40ad88">   44</a></span>&#160;<span class="preprocessor">#define MAX_PERIODICITY VPX_TS_MAX_PERIODICITY</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="code" href="group__encoder.html#gade9d4b2ac5f29fe89ffea40e7c58c9d6">   47</a></span>&#160;<span class="preprocessor">#define MAX_LAYERS      VPX_TS_MAX_LAYERS</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="code" href="group__encoder.html#gaa4f0b52293c08ba672429c3a03648b9d">   57</a></span>&#160;<span class="preprocessor">#define VPX_ENCODER_ABI_VERSION (3 + VPX_CODEC_ABI_VERSION) </span></div>
<div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="group__encoder.html#ga398803f408d6f71aae730b5ee7793e1c">   69</a></span>&#160;<span class="preprocessor">#define VPX_CODEC_CAP_PSNR  0x10000 </span></div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="code" href="group__encoder.html#ga69768adb51faa28d98870cbc77e9ea93">   76</a></span>&#160;<span class="preprocessor">#define VPX_CODEC_CAP_OUTPUT_PARTITION  0x20000</span></div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="code" href="group__encoder.html#ga57bb9eb1881c7e4bf86580660a5e40a0">   86</a></span>&#160;<span class="preprocessor">#define VPX_CODEC_USE_PSNR  0x10000 </span></div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="group__encoder.html#gac26cd92b3719953aa0fbb0ff8c1d9c8d">   87</a></span>&#160;<span class="preprocessor">#define VPX_CODEC_USE_OUTPUT_PARTITION  0x20000 </span></div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="preprocessor">    typedef struct vpx_fixed_buf</span></div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="code" href="structvpx__fixed__buf.html">   96</a></span>&#160;<span class="preprocessor"></span>    {</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;        <span class="keywordtype">void</span>          *buf; </div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="structvpx__fixed__buf.html#ac93e43ae3fcc1023dca86d37016ae3f0">   98</a></span>&#160;        <span class="keywordtype">size_t</span>         sz;  </div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="code" href="structvpx__fixed__buf.html#a43d7f8247ed9752f65f0a7639817ae84">   99</a></span>&#160;    } <a class="code" href="group__encoder.html#ga21fab7dd28065f349c97165501223764" title="Generic fixed size buffer structure.">vpx_fixed_buf_t</a>; </div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;    <span class="keyword">typedef</span> int64_t <a class="code" href="group__encoder.html#ga7e711b0a71c65aef8f0faea8bd57b05f" title="Time Stamp Type.">vpx_codec_pts_t</a>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="group__encoder.html#ga7e711b0a71c65aef8f0faea8bd57b05f">  108</a></span>&#160;</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    <span class="keyword">typedef</span> uint32_t <a class="code" href="group__encoder.html#gaac8ee319b9a6175f6946f59437c7ae4b" title="Compressed Frame Flags.">vpx_codec_frame_flags_t</a>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="code" href="group__encoder.html#gaac8ee319b9a6175f6946f59437c7ae4b">  118</a></span>&#160;<span class="preprocessor">#define VPX_FRAME_IS_KEY       0x1 </span></div>
<div class="line"><a name="l00119"></a><span class="lineno"><a class="code" href="group__encoder.html#ga7a896eb3bc74f33419e6a9812c60e4c9">  119</a></span>&#160;<span class="preprocessor">#define VPX_FRAME_IS_DROPPABLE 0x2 </span></div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;<span class="preprocessor">#define VPX_FRAME_IS_INVISIBLE 0x4 </span></div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;<span class="preprocessor">#define VPX_FRAME_IS_FRAGMENT  0x8 </span></div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;<span class="preprocessor">    typedef uint32_t vpx_codec_er_flags_t;</span></div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define VPX_ERROR_RESILIENT_DEFAULT     0x1 </span></div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;<span class="preprocessor">#define VPX_ERROR_RESILIENT_PARTITIONS  0x2 </span></div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;<span class="preprocessor">    enum vpx_codec_cx_pkt_kind</span></div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;<span class="preprocessor"></span>    {</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        <a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a2261aae5594289400e812fb1e6b6b0cc">VPX_CODEC_CX_FRAME_PKT</a>,    </div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a77cd8b95d9891bcce36117f5f31994fd">VPX_CODEC_STATS_PKT</a>,       </div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a11eefa1328e6d22eb7c844645a260628">VPX_CODEC_PSNR_PKT</a>,        </div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        <a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a7b54c122969397b1926de853d28b3c80">VPX_CODEC_CUSTOM_PKT</a> = 256 </div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    };</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structvpx__codec__cx__pkt.html" title="Encoder output packet.">vpx_codec_cx_pkt</a></div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a2261aae5594289400e812fb1e6b6b0cc">  166</a></span>&#160;    {</div>
<div class="line"><a name="l00167"></a><span class="lineno"><a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a77cd8b95d9891bcce36117f5f31994fd">  167</a></span>&#160;        <span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga28a79375279536526552af3a83d2ed72" title="Encoder output packet variants.">vpx_codec_cx_pkt_kind</a>  <a class="code" href="structvpx__codec__cx__pkt.html#a41f395b39516343c1329a4a85a0084f2">kind</a>; </div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a11eefa1328e6d22eb7c844645a260628">  168</a></span>&#160;        <span class="keyword">union</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a7b54c122969397b1926de853d28b3c80">  169</a></span>&#160;        {</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;            <span class="keyword">struct</span></div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;            {</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;                <span class="keywordtype">void</span>                    *<a class="code" href="structvpx__codec__cx__pkt.html#a9e1db068593b6037e70b05b5239784d2">buf</a>;      </div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;                <span class="keywordtype">size_t</span>                   <a class="code" href="structvpx__codec__cx__pkt.html#a857321ba2dc65e81c430d14c36a542d9">sz</a>;       </div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;                vpx_codec_pts_t          <a class="code" href="structvpx__codec__cx__pkt.html#aa75fe039fe6b47fb25d20684864bef12">pts</a>;      </div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;                <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>            <a class="code" href="structvpx__codec__cx__pkt.html#afb8d9069980e759d97d2eb9fae7e5e06">duration</a>; </div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="code" href="structvpx__codec__cx__pkt.html">  178</a></span>&#160;                vpx_codec_frame_flags_t  <a class="code" href="structvpx__codec__cx__pkt.html#a3876fe0306342611465e9c15c6c4ae2f">flags</a>;    </div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;                <span class="keywordtype">int</span>                      <a class="code" href="structvpx__codec__cx__pkt.html#aaffee6af93af238ca7a145fb56c6d6f7">partition_id</a>; </div>
<div class="line"><a name="l00186"></a><span class="lineno"><a class="code" href="structvpx__codec__cx__pkt.html#a857321ba2dc65e81c430d14c36a542d9">  186</a></span>&#160;            } <a class="code" href="structvpx__codec__cx__pkt.html#a81e33bf4408a3983abb16492fee359ff">frame</a>;  </div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="structvpx__codec__cx__pkt.html#aa75fe039fe6b47fb25d20684864bef12">  187</a></span>&#160;            <span class="keyword">struct </span><a class="code" href="structvpx__fixed__buf.html" title="Generic fixed size buffer structure.">vpx_fixed_buf</a> <a class="code" href="structvpx__codec__cx__pkt.html#a53db8576979fa7335e478eb849b256f1">twopass_stats</a>;  </div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;            <span class="keyword">struct </span>vpx_psnr_pkt</div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="code" href="structvpx__codec__cx__pkt.html#afb8d9069980e759d97d2eb9fae7e5e06">  189</a></span>&#160;            {</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;                <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structvpx__codec__cx__pkt.html#a4d3fc7eb2d19c5913c6f3f474e5cf77b">samples</a>[4];  </div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="code" href="structvpx__codec__cx__pkt.html#a3876fe0306342611465e9c15c6c4ae2f">  191</a></span>&#160;                uint64_t     <a class="code" href="structvpx__codec__cx__pkt.html#ad65e918d3f26743cc7a8898b88bcb397">sse</a>[4];      </div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="code" href="structvpx__codec__cx__pkt.html#aaffee6af93af238ca7a145fb56c6d6f7">  192</a></span>&#160;                <span class="keywordtype">double</span>       <a class="code" href="structvpx__codec__cx__pkt.html#a63744aeceb50355d6402d55309c151b6">psnr</a>[4];     </div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;            } <a class="code" href="structvpx__codec__cx__pkt.html#a63744aeceb50355d6402d55309c151b6">psnr</a>;                       </div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;            <span class="keyword">struct </span><a class="code" href="structvpx__fixed__buf.html" title="Generic fixed size buffer structure.">vpx_fixed_buf</a> <a class="code" href="structvpx__codec__cx__pkt.html#acc7ee91ea9c907aea7c3b953324f7c26">raw</a>;     </div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;            <span class="comment">/* This packet size is fixed to allow codecs to extend this</span></div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;<span class="comment">             * interface without having to manage storage for raw packets,</span></div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="comment">             * i.e., if it&#39;s smaller than 128 bytes, you can store in the</span></div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;<span class="comment">             * packet list directly.</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"><a class="code" href="structvpx__codec__cx__pkt.html#a53db8576979fa7335e478eb849b256f1">  200</a></span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;            <span class="keywordtype">char</span> <a class="code" href="structvpx__codec__cx__pkt.html#a49a0ba012fdabd49bff8069dfacf6ced">pad</a>[128 - <span class="keyword">sizeof</span>(<span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga28a79375279536526552af3a83d2ed72" title="Encoder output packet variants.">vpx_codec_cx_pkt_kind</a>)]; </div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        } <a class="code" href="structvpx__codec__cx__pkt.html#a7f97b060a23b7e89fe5b885c0074f696">data</a>; </div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="code" href="structvpx__codec__cx__pkt.html#a4d3fc7eb2d19c5913c6f3f474e5cf77b">  203</a></span>&#160;    } <a class="code" href="group__encoder.html#ga3f711e17fbefac545e8959ef5a023556" title="Encoder output packet.">vpx_codec_cx_pkt_t</a>; </div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structvpx__rational.html" title="Rational Number.">vpx_rational</a></div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;    {</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="structvpx__rational.html#ae7774f21a22c9bef3aa73156c79f4731">num</a>; </div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="keywordtype">int</span> <a class="code" href="structvpx__rational.html#a29dd2ab4001377b3aa21885ef969759f">den</a>; </div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="structvpx__codec__cx__pkt.html#a49a0ba012fdabd49bff8069dfacf6ced">  214</a></span>&#160;    } <a class="code" href="group__encoder.html#ga2c08c6d71202024f17a5aef71a3d13e5" title="Rational Number.">vpx_rational_t</a>; </div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    <span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga476c5417f9c15a1dc5d3f68fa44c493f" title="Multi-pass Encoding Pass.">vpx_enc_pass</a></div>
<div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;    {</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;        <a class="code" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493fa7b6943a41868e8e26a77e9500f139ca1">VPX_RC_ONE_PASS</a>,   </div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        <a class="code" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493faa0765945345b160905f3b762986dae3b">VPX_RC_FIRST_PASS</a>, </div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;        <a class="code" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493fa65da543b956d6a9b1f301ab8cc90d3a7">VPX_RC_LAST_PASS</a>   </div>
<div class="line"><a name="l00223"></a><span class="lineno"><a class="code" href="structvpx__rational.html">  223</a></span>&#160;    };</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;</div>
<div class="line"><a name="l00225"></a><span class="lineno"><a class="code" href="structvpx__rational.html#ae7774f21a22c9bef3aa73156c79f4731">  225</a></span>&#160;</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;    <span class="keyword">enum</span> <a class="code" href="group__encoder.html#gaf50e74d91be4cae6f70dfeba5b7410d2" title="Rate control mode.">vpx_rc_mode</a></div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    {</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        <a class="code" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2ab8fbe4441ed3f31a167c8194e8a64f87">VPX_VBR</a>, </div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        <a class="code" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a8b02853cb35790d60cc171a11f6c268a">VPX_CBR</a>,  </div>
<div class="line"><a name="l00231"></a><span class="lineno"><a class="code" href="group__encoder.html#ga476c5417f9c15a1dc5d3f68fa44c493f">  231</a></span>&#160;        <a class="code" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a5f2fd02b55c67d62bfd79380bcb03f63">VPX_CQ</a>   </div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    };</div>
<div class="line"><a name="l00233"></a><span class="lineno"><a class="code" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493fa7b6943a41868e8e26a77e9500f139ca1">  233</a></span>&#160;</div>
<div class="line"><a name="l00234"></a><span class="lineno"><a class="code" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493faa0765945345b160905f3b762986dae3b">  234</a></span>&#160;</div>
<div class="line"><a name="l00243"></a><span class="lineno"><a class="code" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a8b02853cb35790d60cc171a11f6c268a">  243</a></span>&#160;    <span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga9f461802aa4db35c04a8b23837987f40" title="Keyframe placement mode.">vpx_kf_mode</a></div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="code" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a5f2fd02b55c67d62bfd79380bcb03f63">  244</a></span>&#160;    {</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        <a class="code" href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40a6bd87eea515c65661a5241a0f01e44a6">VPX_KF_FIXED</a>, </div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;        <a class="code" href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40ab1b423e78f72e77d2dce755d6c9652f8">VPX_KF_AUTO</a>,  </div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        <a class="code" href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40a56513f60cbf3434ca0092173005d0ab2">VPX_KF_DISABLED</a> = 0 </div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    };</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;</div>
<div class="line"><a name="l00258"></a><span class="lineno"><a class="code" href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40a6bd87eea515c65661a5241a0f01e44a6">  258</a></span>&#160;    <span class="keyword">typedef</span> <span class="keywordtype">long</span> <a class="code" href="group__encoder.html#ga99e4a3c966f0de19fe1aa626bd860366" title="Encoded Frame Flags.">vpx_enc_frame_flags_t</a>;</div>
<div class="line"><a name="l00259"></a><span class="lineno"><a class="code" href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40ab1b423e78f72e77d2dce755d6c9652f8">  259</a></span>&#160;<span class="preprocessor">#define VPX_EFLAG_FORCE_KF (1&lt;&lt;0)  </span></div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;<span class="preprocessor">    typedef struct vpx_codec_enc_cfg</span></div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<span class="preprocessor"></span>    {</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"><a class="code" href="group__encoder.html#ga99e4a3c966f0de19fe1aa626bd860366">  271</a></span>&#160;<span class="comment">         * generic settings (g)</span></div>
<div class="line"><a name="l00272"></a><span class="lineno"><a class="code" href="group__encoder.html#ga4c4f4e3cbb5225d2c6c050e2d1e948fa">  272</a></span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;</div>
<div class="line"><a name="l00281"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html">  281</a></span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           g_usage;</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           g_threads;</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           g_profile;  </div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           g_w;</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;</div>
<div class="line"><a name="l00314"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html#a3d7fe3a8b237338c094d5a956a41804d">  314</a></span>&#160;</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           g_h;</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;        <span class="keyword">struct </span><a class="code" href="structvpx__rational.html" title="Rational Number.">vpx_rational</a>    g_timebase;</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;        <a class="code" href="group__encoder.html#ga77e0e1fff62556a4f4d54c84467a41f3" title="Error Resilient flags.">vpx_codec_er_flags_t</a>   g_error_resilient;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga476c5417f9c15a1dc5d3f68fa44c493f" title="Multi-pass Encoding Pass.">vpx_enc_pass</a>      g_pass;</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           g_lag_in_frames;</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;<span class="comment">         * rate control settings (rc)</span></div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;</div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_dropframe_thresh;</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_resize_allowed;</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_resize_up_thresh;</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;</div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_resize_down_thresh;</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;        <span class="keyword">enum</span> <a class="code" href="group__encoder.html#gaf50e74d91be4cae6f70dfeba5b7410d2" title="Rate control mode.">vpx_rc_mode</a>       rc_end_usage;</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;</div>
<div class="line"><a name="l00433"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html#a1be7bd7b0eaf1e99b5e4028c37c65488">  433</a></span>&#160;</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;        <span class="keyword">struct </span><a class="code" href="structvpx__fixed__buf.html" title="Generic fixed size buffer structure.">vpx_fixed_buf</a>   rc_twopass_stats_in;</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;</div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_target_bitrate;</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;<span class="comment">         * quantizer settings</span></div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00452"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html#a618616a07d9d8883c544731957b56f3c">  452</a></span>&#160;</div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;</div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_min_quantizer;</div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;</div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_max_quantizer;</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;</div>
<div class="line"><a name="l00475"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html#a1324600e3c63faaa7717e85cf6509dd9">  475</a></span>&#160;</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;<span class="comment">         * bitrate tolerance</span></div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;</div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_undershoot_pct;</div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;</div>
<div class="line"><a name="l00504"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html#ad279fbb0a9fe9395340913161e28651a">  504</a></span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_overshoot_pct;</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;</div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;</div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;<span class="comment">         * decoder buffer model parameters</span></div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;</div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_buf_sz;</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_buf_initial_sz;</div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;</div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;</div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_buf_optimal_sz;</div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;</div>
<div class="line"><a name="l00544"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html#aa9e4d6405994ef42d61d478cf6e0d5e0">  544</a></span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;<span class="comment">         * 2 pass rate control parameters</span></div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;</div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_2pass_vbr_bias_pct;       </div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_2pass_vbr_minsection_pct;</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;</div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;</div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           rc_2pass_vbr_maxsection_pct;</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;</div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;<span class="comment">         * keyframing settings (kf)</span></div>
<div class="line"><a name="l00578"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html#a21eb9fce0844ae07b617bf3f0a25f5a5">  578</a></span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;</div>
<div class="line"><a name="l00586"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html#ab5212050b71b2d9f4dc663caa496949e">  586</a></span>&#160;        <span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga9f461802aa4db35c04a8b23837987f40" title="Keyframe placement mode.">vpx_kf_mode</a>       kf_mode;</div>
<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;</div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           kf_min_dist;</div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           kf_max_dist;</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00609"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html#a0a7b5444ecb09745cbe8d5af17553846">  609</a></span>&#160;<span class="comment">         * Temporal scalability settings (ts)</span></div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;</div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           ts_number_layers;</div>
<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           ts_target_bitrate[<a class="code" href="group__encoder.html#ga2715ac3dd8bf2f5438c4bbfc82788eb2">VPX_TS_MAX_LAYERS</a>];</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;</div>
<div class="line"><a name="l00629"></a><span class="lineno"><a class="code" href="structvpx__codec__enc__cfg.html#a16d4549a30cbd585e3c3056ef873d8c7">  629</a></span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           ts_rate_decimator[<a class="code" href="group__encoder.html#ga2715ac3dd8bf2f5438c4bbfc82788eb2">VPX_TS_MAX_LAYERS</a>];</div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           ts_periodicity;</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;</div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;        <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           ts_layer_id[<a class="code" href="group__encoder.html#ga684b48cb6e47a258247637186557eb19">VPX_TS_MAX_PERIODICITY</a>];</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    } <a class="code" href="group__encoder.html#ga946236c809e493b31a815d82db1e59db" title="Encoder configuration structure.">vpx_codec_enc_cfg_t</a>; </div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;    <a class="code" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2" title="Algorithm return codes.">vpx_codec_err_t</a> <a class="code" href="group__encoder.html#ga6ed21b96c481c0b6e1b543ef958a57a4" title="Initialize an encoder instance.">vpx_codec_enc_init_ver</a>(<a class="code" href="structvpx__codec__ctx.html" title="Codec context structure.">vpx_codec_ctx_t</a>      *ctx,</div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;                                           <a class="code" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e" title="Codec interface structure.">vpx_codec_iface_t</a>    *iface,</div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;                                           <a class="code" href="structvpx__codec__enc__cfg.html" title="Encoder configuration structure.">vpx_codec_enc_cfg_t</a>  *cfg,</div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;                                           <a class="code" href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877" title="Initialization-time Feature Enabling.">vpx_codec_flags_t</a>     flags,</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;                                           <span class="keywordtype">int</span>                   ver);</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;</div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;</div>
<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;<span class="preprocessor">#define vpx_codec_enc_init(ctx, iface, cfg, flags) \</span></div>
<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;<span class="preprocessor">    vpx_codec_enc_init_ver(ctx, iface, cfg, flags, VPX_ENCODER_ABI_VERSION)</span></div>
<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;</div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;    <a class="code" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2" title="Algorithm return codes.">vpx_codec_err_t</a> <a class="code" href="group__encoder.html#ga1c0415984a5469687f53613a5471f53d" title="Initialize multi-encoder instance.">vpx_codec_enc_init_multi_ver</a>(<a class="code" href="structvpx__codec__ctx.html" title="Codec context structure.">vpx_codec_ctx_t</a>      *ctx,</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;                                                 <a class="code" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e" title="Codec interface structure.">vpx_codec_iface_t</a>    *iface,</div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;                                                 <a class="code" href="structvpx__codec__enc__cfg.html" title="Encoder configuration structure.">vpx_codec_enc_cfg_t</a>  *cfg,</div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;                                                 <span class="keywordtype">int</span>                   num_enc,</div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;                                                 <a class="code" href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877" title="Initialization-time Feature Enabling.">vpx_codec_flags_t</a>     flags,</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;                                                 <a class="code" href="structvpx__rational.html" title="Rational Number.">vpx_rational_t</a>       *dsf,</div>
<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;                                                 <span class="keywordtype">int</span>                   ver);</div>
<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;</div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;</div>
<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;<span class="preprocessor">#define vpx_codec_enc_init_multi(ctx, iface, cfg, num_enc, flags, dsf) \</span></div>
<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;<span class="preprocessor">    vpx_codec_enc_init_multi_ver(ctx, iface, cfg, num_enc, flags, dsf, \</span></div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;<span class="preprocessor">                                 VPX_ENCODER_ABI_VERSION)</span></div>
<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;</div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;    <a class="code" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2" title="Algorithm return codes.">vpx_codec_err_t</a>  <a class="code" href="group__encoder.html#ga9ab8c79623312e9c5d5405d66a788f59" title="Get a default configuration.">vpx_codec_enc_config_default</a>(<a class="code" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e" title="Codec interface structure.">vpx_codec_iface_t</a>    *iface,</div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;            <a class="code" href="structvpx__codec__enc__cfg.html" title="Encoder configuration structure.">vpx_codec_enc_cfg_t</a>  *cfg,</div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;            <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>          usage);</div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;</div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;    <a class="code" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2" title="Algorithm return codes.">vpx_codec_err_t</a>  <a class="code" href="group__encoder.html#gabbc036b1fbc1288485df5562a989da9b" title="Set or change configuration.">vpx_codec_enc_config_set</a>(<a class="code" href="structvpx__codec__ctx.html" title="Codec context structure.">vpx_codec_ctx_t</a>            *ctx,</div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;            <span class="keyword">const</span> <a class="code" href="structvpx__codec__enc__cfg.html" title="Encoder configuration structure.">vpx_codec_enc_cfg_t</a>  *cfg);</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;</div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;    <a class="code" href="structvpx__fixed__buf.html" title="Generic fixed size buffer structure.">vpx_fixed_buf_t</a> *<a class="code" href="group__encoder.html#ga512eb105fef18bebb02e134e4cbc82ff" title="Get global stream headers.">vpx_codec_get_global_headers</a>(<a class="code" href="structvpx__codec__ctx.html" title="Codec context structure.">vpx_codec_ctx_t</a>   *ctx);</div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;</div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;</div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;<span class="preprocessor">#define VPX_DL_REALTIME     (1)        </span></div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="preprocessor">#define VPX_DL_GOOD_QUALITY (1000000)  </span></div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;<span class="preprocessor">#define VPX_DL_BEST_QUALITY (0)        </span></div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;<span class="preprocessor">    vpx_codec_err_t  vpx_codec_encode(vpx_codec_ctx_t            *ctx,</span></div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;<span class="preprocessor"></span>                                      <span class="keyword">const</span> <a class="code" href="structvpx__image.html" title="Image Descriptor.">vpx_image_t</a>          *img,</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;                                      vpx_codec_pts_t             pts,</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;                                      <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>               duration,</div>
<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;                                      vpx_enc_frame_flags_t       flags,</div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;                                      <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>               deadline);</div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160;</div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;    <a class="code" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2" title="Algorithm return codes.">vpx_codec_err_t</a> <a class="code" href="group__encoder.html#gae9f8f75978a1ebcf1f358964b55ecb9e" title="Set compressed data output buffer.">vpx_codec_set_cx_data_buf</a>(<a class="code" href="structvpx__codec__ctx.html" title="Codec context structure.">vpx_codec_ctx_t</a>       *ctx,</div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;            <span class="keyword">const</span> <a class="code" href="structvpx__fixed__buf.html" title="Generic fixed size buffer structure.">vpx_fixed_buf_t</a> *<a class="code" href="structvpx__fixed__buf.html#ac93e43ae3fcc1023dca86d37016ae3f0">buf</a>,</div>
<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160;            <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           pad_before,</div>
<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;            <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>           pad_after);</div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;</div>
<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;</div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;    <span class="keyword">const</span> <a class="code" href="structvpx__codec__cx__pkt.html" title="Encoder output packet.">vpx_codec_cx_pkt_t</a> *<a class="code" href="group__encoder.html#gae81cab25d66cf3bc59f1f75f8a5af720" title="Encoded data iterator.">vpx_codec_get_cx_data</a>(<a class="code" href="structvpx__codec__ctx.html" title="Codec context structure.">vpx_codec_ctx_t</a>   *ctx,</div>
<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;            <a class="code" href="group__codec.html#ga6ea348f76b1f8a1fe50e14db684146c6" title="Iterator.">vpx_codec_iter_t</a>  *iter);</div>
<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;</div>
<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;</div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;    <span class="keyword">const</span> <a class="code" href="structvpx__image.html" title="Image Descriptor.">vpx_image_t</a> *<a class="code" href="group__encoder.html#ga250aee4536aa2475e85cf61c9710c963" title="Get Preview Frame.">vpx_codec_get_preview_frame</a>(<a class="code" href="structvpx__codec__ctx.html" title="Codec context structure.">vpx_codec_ctx_t</a>   *ctx);</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;</div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;<span class="preprocessor">#endif</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3
</small></address>
</body>
</html>