MINI MINI MANI MO
<!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.5"/>
<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.5 -->
<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="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> <span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <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> <span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <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> <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> <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> <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> <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> <span class="comment"> */</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#ifndef VPX_ENCODER_H</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor"></span><span class="preprocessor">#define VPX_ENCODER_H</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="vpx__codec_8h.html">vpx_codec.h</a>"</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="group__encoder.html#ga684b48cb6e47a258247637186557eb19"> 37</a></span> <span class="preprocessor">#define VPX_TS_MAX_PERIODICITY 16</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="group__encoder.html#ga2715ac3dd8bf2f5438c4bbfc82788eb2"> 40</a></span> <span class="preprocessor">#define VPX_TS_MAX_LAYERS 5</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="group__encoder.html#gae6569d89cc61cb190aeeb00a1b40ad88"> 43</a></span> <span class="preprocessor">#define MAX_PERIODICITY VPX_TS_MAX_PERIODICITY</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="group__encoder.html#gade9d4b2ac5f29fe89ffea40e7c58c9d6"> 46</a></span> <span class="preprocessor">#define MAX_LAYERS VPX_TS_MAX_LAYERS</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="group__encoder.html#ga8ee6b12a5f4c97d9767adffb88fff7da"> 49</a></span> <span class="preprocessor">#define VPX_SS_MAX_LAYERS 5</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="group__encoder.html#ga8324b8c1ebf8a80253d544584f9439eb"> 52</a></span> <span class="preprocessor">#define VPX_SS_DEFAULT_LAYERS 3</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="group__encoder.html#gaa4f0b52293c08ba672429c3a03648b9d"> 62</a></span> <span class="preprocessor">#define VPX_ENCODER_ABI_VERSION (3 + VPX_CODEC_ABI_VERSION) </span></div>
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="group__encoder.html#ga398803f408d6f71aae730b5ee7793e1c"> 74</a></span> <span class="preprocessor">#define VPX_CODEC_CAP_PSNR 0x10000 </span></div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="group__encoder.html#ga69768adb51faa28d98870cbc77e9ea93"> 81</a></span> <span class="preprocessor">#define VPX_CODEC_CAP_OUTPUT_PARTITION 0x20000</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="group__encoder.html#ga57bb9eb1881c7e4bf86580660a5e40a0"> 91</a></span> <span class="preprocessor">#define VPX_CODEC_USE_PSNR 0x10000 </span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="group__encoder.html#gac26cd92b3719953aa0fbb0ff8c1d9c8d"> 92</a></span> <span class="preprocessor">#define VPX_CODEC_USE_OUTPUT_PARTITION 0x20000 </span></div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor"> typedef struct vpx_fixed_buf {</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structvpx__fixed__buf.html"> 101</a></span> <span class="preprocessor"></span> <span class="keywordtype">void</span> *buf; </div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="structvpx__fixed__buf.html#ac93e43ae3fcc1023dca86d37016ae3f0"> 102</a></span>  <span class="keywordtype">size_t</span> sz; </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structvpx__fixed__buf.html#a43d7f8247ed9752f65f0a7639817ae84"> 103</a></span>  } <a class="code" href="group__encoder.html#ga21fab7dd28065f349c97165501223764">vpx_fixed_buf_t</a>; </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keyword">typedef</span> int64_t <a class="code" href="group__encoder.html#ga7e711b0a71c65aef8f0faea8bd57b05f">vpx_codec_pts_t</a>;</div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="group__encoder.html#ga7e711b0a71c65aef8f0faea8bd57b05f"> 112</a></span> </div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">typedef</span> uint32_t <a class="code" href="group__encoder.html#gaac8ee319b9a6175f6946f59437c7ae4b">vpx_codec_frame_flags_t</a>;</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="group__encoder.html#gaac8ee319b9a6175f6946f59437c7ae4b"> 122</a></span> <span class="preprocessor">#define VPX_FRAME_IS_KEY 0x1 </span></div>
<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="group__encoder.html#ga7a896eb3bc74f33419e6a9812c60e4c9"> 123</a></span> <span class="preprocessor">#define VPX_FRAME_IS_DROPPABLE 0x2 </span></div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor">#define VPX_FRAME_IS_INVISIBLE 0x4 </span></div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor">#define VPX_FRAME_IS_FRAGMENT 0x8 </span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="preprocessor"> typedef uint32_t vpx_codec_er_flags_t;</span></div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="preprocessor"></span><span class="preprocessor">#define VPX_ERROR_RESILIENT_DEFAULT 0x1 </span></div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="preprocessor">#define VPX_ERROR_RESILIENT_PARTITIONS 0x2 </span></div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor"> enum vpx_codec_cx_pkt_kind {</span></div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor"></span> <a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a2261aae5594289400e812fb1e6b6b0cc">VPX_CODEC_CX_FRAME_PKT</a>, </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a77cd8b95d9891bcce36117f5f31994fd">VPX_CODEC_STATS_PKT</a>, </div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a11eefa1328e6d22eb7c844645a260628">VPX_CODEC_PSNR_PKT</a>, </div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a7b54c122969397b1926de853d28b3c80">VPX_CODEC_CUSTOM_PKT</a> = 256 </div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  };</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div>
<div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="group__encoder.html#ga28a79375279536526552af3a83d2ed72"> 168</a></span>  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structvpx__codec__cx__pkt.html">vpx_codec_cx_pkt</a> {</div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a2261aae5594289400e812fb1e6b6b0cc"> 169</a></span>  <span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga28a79375279536526552af3a83d2ed72">vpx_codec_cx_pkt_kind</a> <a class="code" href="structvpx__codec__cx__pkt.html#a41f395b39516343c1329a4a85a0084f2">kind</a>; </div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a77cd8b95d9891bcce36117f5f31994fd"> 170</a></span>  <span class="keyword">union </span>{</div>
<div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a11eefa1328e6d22eb7c844645a260628"> 171</a></span>  <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a7b54c122969397b1926de853d28b3c80"> 172</a></span>  <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>  <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>  <a class="code" href="group__encoder.html#ga7e711b0a71c65aef8f0faea8bd57b05f">vpx_codec_pts_t</a> <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>  <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"> 178</span>  <a class="code" href="group__encoder.html#gaac8ee319b9a6175f6946f59437c7ae4b">vpx_codec_frame_flags_t</a> <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>  <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="line" href="structvpx__codec__cx__pkt.html#a857321ba2dc65e81c430d14c36a542d9"> 186</a></span>  } <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="line" href="structvpx__codec__cx__pkt.html#aa75fe039fe6b47fb25d20684864bef12"> 187</a></span>  <span class="keyword">struct </span><a class="code" href="structvpx__fixed__buf.html">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>  <span class="keyword">struct </span>vpx_psnr_pkt {</div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="structvpx__codec__cx__pkt.html#afb8d9069980e759d97d2eb9fae7e5e06"> 189</a></span>  <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="l00190"></a><span class="lineno"> 190</span>  uint64_t <a class="code" href="structvpx__codec__cx__pkt.html#ad65e918d3f26743cc7a8898b88bcb397">sse</a>[4]; </div>
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="structvpx__codec__cx__pkt.html#a3876fe0306342611465e9c15c6c4ae2f"> 191</a></span>  <span class="keywordtype">double</span> <a class="code" href="structvpx__codec__cx__pkt.html#a63744aeceb50355d6402d55309c151b6">psnr</a>[4]; </div>
<div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="structvpx__codec__cx__pkt.html#aaffee6af93af238ca7a145fb56c6d6f7"> 192</a></span>  } <a class="code" href="structvpx__codec__cx__pkt.html#a63744aeceb50355d6402d55309c151b6">psnr</a>; </div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">struct </span><a class="code" href="structvpx__fixed__buf.html">vpx_fixed_buf</a> <a class="code" href="structvpx__codec__cx__pkt.html#acc7ee91ea9c907aea7c3b953324f7c26">raw</a>; </div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="comment">/* This packet size is fixed to allow codecs to extend this</span></div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"> * interface without having to manage storage for raw packets,</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="comment"> * i.e., if it's smaller than 128 bytes, you can store in the</span></div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> <span class="comment"> * packet list directly.</span></div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="structvpx__codec__cx__pkt.html#a53db8576979fa7335e478eb849b256f1"> 200</a></span>  <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">vpx_codec_cx_pkt_kind</a>)]; </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  } <a class="code" href="structvpx__codec__cx__pkt.html#a7f97b060a23b7e89fe5b885c0074f696">data</a>; </div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="structvpx__codec__cx__pkt.html#a4d3fc7eb2d19c5913c6f3f474e5cf77b"> 202</a></span>  } <a class="code" href="group__encoder.html#ga3f711e17fbefac545e8959ef5a023556">vpx_codec_cx_pkt_t</a>; </div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structvpx__rational.html">vpx_rational</a> {</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordtype">int</span> <a class="code" href="structvpx__rational.html#ae7774f21a22c9bef3aa73156c79f4731">num</a>; </div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordtype">int</span> <a class="code" href="structvpx__rational.html#a29dd2ab4001377b3aa21885ef969759f">den</a>; </div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  } <a class="code" href="group__encoder.html#ga2c08c6d71202024f17a5aef71a3d13e5">vpx_rational_t</a>; </div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga476c5417f9c15a1dc5d3f68fa44c493f">vpx_enc_pass</a> {</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493fa7b6943a41868e8e26a77e9500f139ca1">VPX_RC_ONE_PASS</a>, </div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493faa0765945345b160905f3b762986dae3b">VPX_RC_FIRST_PASS</a>, </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493fa65da543b956d6a9b1f301ab8cc90d3a7">VPX_RC_LAST_PASS</a> </div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  };</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="structvpx__rational.html"> 222</a></span> </div>
<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="structvpx__rational.html#a29dd2ab4001377b3aa21885ef969759f"> 224</a></span>  <span class="keyword">enum</span> <a class="code" href="group__encoder.html#gaf50e74d91be4cae6f70dfeba5b7410d2">vpx_rc_mode</a> {</div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2ab8fbe4441ed3f31a167c8194e8a64f87">VPX_VBR</a>, </div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a8b02853cb35790d60cc171a11f6c268a">VPX_CBR</a>, </div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a5f2fd02b55c67d62bfd79380bcb03f63">VPX_CQ</a>, </div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a5ebb5564dc5e8ec99d3c6221d89b8858">VPX_Q</a>, </div>
<div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="group__encoder.html#ga476c5417f9c15a1dc5d3f68fa44c493f"> 229</a></span>  };</div>
<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493fa7b6943a41868e8e26a77e9500f139ca1"> 230</a></span> </div>
<div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493faa0765945345b160905f3b762986dae3b"> 231</a></span> </div>
<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a5f2fd02b55c67d62bfd79380bcb03f63"> 240</a></span>  <span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga9f461802aa4db35c04a8b23837987f40">vpx_kf_mode</a> {</div>
<div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a5ebb5564dc5e8ec99d3c6221d89b8858"> 241</a></span>  <a class="code" href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40a6bd87eea515c65661a5241a0f01e44a6">VPX_KF_FIXED</a>, </div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40ab1b423e78f72e77d2dce755d6c9652f8">VPX_KF_AUTO</a>, </div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40a56513f60cbf3434ca0092173005d0ab2">VPX_KF_DISABLED</a> = 0 </div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  };</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div>
<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40a6bd87eea515c65661a5241a0f01e44a6"> 254</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">long</span> <a class="code" href="group__encoder.html#ga99e4a3c966f0de19fe1aa626bd860366">vpx_enc_frame_flags_t</a>;</div>
<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40ab1b423e78f72e77d2dce755d6c9652f8"> 255</a></span> <span class="preprocessor">#define VPX_EFLAG_FORCE_KF (1<<0) </span></div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="preprocessor"> typedef struct vpx_codec_enc_cfg {</span></div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="preprocessor"></span> <span class="comment">/*</span></div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="comment"> * generic settings (g)</span></div>
<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="group__encoder.html#ga99e4a3c966f0de19fe1aa626bd860366"> 267</a></span> <span class="comment"> */</span></div>
<div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="group__encoder.html#ga4c4f4e3cbb5225d2c6c050e2d1e948fa"> 268</a></span> </div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> g_usage;</div>
<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html"> 277</a></span> </div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div>
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> g_threads;</div>
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div>
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> g_profile; </div>
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> g_w;</div>
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div>
<div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#a3d7fe3a8b237338c094d5a956a41804d"> 309</a></span> </div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> g_h;</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keyword">struct </span><a class="code" href="structvpx__rational.html">vpx_rational</a> g_timebase;</div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div>
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="group__encoder.html#ga77e0e1fff62556a4f4d54c84467a41f3">vpx_codec_er_flags_t</a> g_error_resilient;</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> </div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> </div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga476c5417f9c15a1dc5d3f68fa44c493f">vpx_enc_pass</a> g_pass;</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> g_lag_in_frames;</div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="comment">/*</span></div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment"> * rate control settings (rc)</span></div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_dropframe_thresh;</div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_resize_allowed;</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> </div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> </div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_resize_up_thresh;</div>
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div>
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div>
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_resize_down_thresh;</div>
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div>
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div>
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keyword">enum</span> <a class="code" href="group__encoder.html#gaf50e74d91be4cae6f70dfeba5b7410d2">vpx_rc_mode</a> rc_end_usage;</div>
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> </div>
<div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#a1be7bd7b0eaf1e99b5e4028c37c65488"> 428</a></span> </div>
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keyword">struct </span><a class="code" href="structvpx__fixed__buf.html">vpx_fixed_buf</a> rc_twopass_stats_in;</div>
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div>
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div>
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_target_bitrate;</div>
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div>
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div>
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="comment">/*</span></div>
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> * quantizer settings</span></div>
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00447"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#a618616a07d9d8883c544731957b56f3c"> 447</a></span> </div>
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div>
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_min_quantizer;</div>
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div>
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div>
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_max_quantizer;</div>
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div>
<div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#a1324600e3c63faaa7717e85cf6509dd9"> 470</a></span> </div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="comment">/*</span></div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment"> * bitrate tolerance</span></div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_undershoot_pct;</div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div>
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div>
<div class="line"><a name="l00499"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#ad279fbb0a9fe9395340913161e28651a"> 499</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_overshoot_pct;</div>
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div>
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> </div>
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="comment">/*</span></div>
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment"> * decoder buffer model parameters</span></div>
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> </div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_buf_sz;</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_buf_initial_sz;</div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div>
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_buf_optimal_sz;</div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div>
<div class="line"><a name="l00539"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#aa9e4d6405994ef42d61d478cf6e0d5e0"> 539</a></span>  <span class="comment">/*</span></div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="comment"> * 2 pass rate control parameters</span></div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_2pass_vbr_bias_pct; </div>
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_2pass_vbr_minsection_pct;</div>
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> </div>
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div>
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> rc_2pass_vbr_maxsection_pct;</div>
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div>
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div>
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="comment">/*</span></div>
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="comment"> * keyframing settings (kf)</span></div>
<div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#a21eb9fce0844ae07b617bf3f0a25f5a5"> 573</a></span> <span class="comment"> */</span></div>
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div>
<div class="line"><a name="l00581"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#ab5212050b71b2d9f4dc663caa496949e"> 581</a></span>  <span class="keyword">enum</span> <a class="code" href="group__encoder.html#ga9f461802aa4db35c04a8b23837987f40">vpx_kf_mode</a> kf_mode;</div>
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> </div>
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> </div>
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> kf_min_dist;</div>
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div>
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div>
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> kf_max_dist;</div>
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> </div>
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="comment">/*</span></div>
<div class="line"><a name="l00604"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#a0a7b5444ecb09745cbe8d5af17553846"> 604</a></span> <span class="comment"> * Spatial scalability settings (ss)</span></div>
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="comment"> */</span></div>
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> </div>
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ss_number_layers;</div>
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> </div>
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ts_number_layers;</div>
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> </div>
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <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="l00624"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#a1e5e1d00b22f2ba8c5c7230f31900f95"> 624</a></span> </div>
<div class="line"><a name="l00630"></a><span class="lineno"><a class="line" href="structvpx__codec__enc__cfg.html#a16d4549a30cbd585e3c3056ef873d8c7"> 630</a></span>  <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="l00631"></a><span class="lineno"> 631</span> </div>
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ts_periodicity;</div>
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> </div>
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <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="l00649"></a><span class="lineno"> 649</span>  } <a class="code" href="group__encoder.html#ga946236c809e493b31a815d82db1e59db">vpx_codec_enc_cfg_t</a>; </div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <a class="code" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> <a class="code" href="group__encoder.html#ga6ed21b96c481c0b6e1b543ef958a57a4">vpx_codec_enc_init_ver</a>(<a class="code" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx,</div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <a class="code" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> *iface,</div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <a class="code" href="structvpx__codec__enc__cfg.html">vpx_codec_enc_cfg_t</a> *cfg,</div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <a class="code" href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877">vpx_codec_flags_t</a> flags,</div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keywordtype">int</span> ver);</div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div>
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> </div>
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="preprocessor">#define vpx_codec_enc_init(ctx, iface, cfg, flags) \</span></div>
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="preprocessor"> vpx_codec_enc_init_ver(ctx, iface, cfg, flags, VPX_ENCODER_ABI_VERSION)</span></div>
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> </div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <a class="code" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> <a class="code" href="group__encoder.html#ga1c0415984a5469687f53613a5471f53d">vpx_codec_enc_init_multi_ver</a>(<a class="code" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx,</div>
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <a class="code" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> *iface,</div>
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <a class="code" href="structvpx__codec__enc__cfg.html">vpx_codec_enc_cfg_t</a> *cfg,</div>
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keywordtype">int</span> num_enc,</div>
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <a class="code" href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877">vpx_codec_flags_t</a> flags,</div>
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <a class="code" href="structvpx__rational.html">vpx_rational_t</a> *dsf,</div>
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="keywordtype">int</span> ver);</div>
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> </div>
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> </div>
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> <span class="preprocessor">#define vpx_codec_enc_init_multi(ctx, iface, cfg, num_enc, flags, dsf) \</span></div>
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span> <span class="preprocessor"> vpx_codec_enc_init_multi_ver(ctx, iface, cfg, num_enc, flags, dsf, \</span></div>
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> <span class="preprocessor"> VPX_ENCODER_ABI_VERSION)</span></div>
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> <span class="preprocessor"></span></div>
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> </div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <a class="code" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> <a class="code" href="group__encoder.html#ga9ab8c79623312e9c5d5405d66a788f59">vpx_codec_enc_config_default</a>(<a class="code" href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a> *iface,</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <a class="code" href="structvpx__codec__enc__cfg.html">vpx_codec_enc_cfg_t</a> *cfg,</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> usage);</div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span> </div>
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <a class="code" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> <a class="code" href="group__encoder.html#gabbc036b1fbc1288485df5562a989da9b">vpx_codec_enc_config_set</a>(<a class="code" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx,</div>
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keyword">const</span> <a class="code" href="structvpx__codec__enc__cfg.html">vpx_codec_enc_cfg_t</a> *cfg);</div>
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> </div>
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> </div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <a class="code" href="structvpx__fixed__buf.html">vpx_fixed_buf_t</a> *<a class="code" href="group__encoder.html#ga512eb105fef18bebb02e134e4cbc82ff">vpx_codec_get_global_headers</a>(<a class="code" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx);</div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span> </div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> <span class="preprocessor">#define VPX_DL_REALTIME (1) </span></div>
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="preprocessor">#define VPX_DL_GOOD_QUALITY (1000000) </span></div>
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="preprocessor">#define VPX_DL_BEST_QUALITY (0) </span></div>
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="preprocessor"> vpx_codec_err_t vpx_codec_encode(vpx_codec_ctx_t *ctx,</span></div>
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="preprocessor"></span> <span class="keyword">const</span> <a class="code" href="structvpx__image.html">vpx_image_t</a> *img,</div>
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  <a class="code" href="group__encoder.html#ga7e711b0a71c65aef8f0faea8bd57b05f">vpx_codec_pts_t</a> pts,</div>
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> duration,</div>
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  <a class="code" href="group__encoder.html#ga99e4a3c966f0de19fe1aa626bd860366">vpx_enc_frame_flags_t</a> flags,</div>
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> deadline);</div>
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> </div>
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <a class="code" href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a> <a class="code" href="group__encoder.html#gae9f8f75978a1ebcf1f358964b55ecb9e">vpx_codec_set_cx_data_buf</a>(<a class="code" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx,</div>
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  <span class="keyword">const</span> <a class="code" href="structvpx__fixed__buf.html">vpx_fixed_buf_t</a> *<a class="code" href="structvpx__fixed__buf.html#ac93e43ae3fcc1023dca86d37016ae3f0">buf</a>,</div>
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_before,</div>
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pad_after);</div>
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span> </div>
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span> </div>
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  <span class="keyword">const</span> <a class="code" href="structvpx__codec__cx__pkt.html">vpx_codec_cx_pkt_t</a> *<a class="code" href="group__encoder.html#gae81cab25d66cf3bc59f1f75f8a5af720">vpx_codec_get_cx_data</a>(<a class="code" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx,</div>
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <a class="code" href="group__codec.html#ga6ea348f76b1f8a1fe50e14db684146c6">vpx_codec_iter_t</a> *iter);</div>
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div>
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span> </div>
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keyword">const</span> <a class="code" href="structvpx__image.html">vpx_image_t</a> *<a class="code" href="group__encoder.html#ga250aee4536aa2475e85cf61c9710c963">vpx_codec_get_preview_frame</a>(<a class="code" href="structvpx__codec__ctx.html">vpx_codec_ctx_t</a> *ctx);</div>
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> </div>
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span> </div>
<div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> <span class="preprocessor"></span>}</div>
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span> <span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span> <span class="preprocessor"></span></div>
<div class="ttc" id="structvpx__rational_html"><div class="ttname"><a href="structvpx__rational.html">vpx_rational</a></div><div class="ttdoc">Rational Number. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:222</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_a53db8576979fa7335e478eb849b256f1"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#a53db8576979fa7335e478eb849b256f1">vpx_codec_cx_pkt::twopass_stats</a></div><div class="ttdeci">struct vpx_fixed_buf twopass_stats</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:200</div></div>
<div class="ttc" id="group__codec_html_gad654f3da60151f5dfef70aca00ef1e9e"><div class="ttname"><a href="group__codec.html#gad654f3da60151f5dfef70aca00ef1e9e">vpx_codec_iface_t</a></div><div class="ttdeci">struct vpx_codec_iface vpx_codec_iface_t</div><div class="ttdoc">Codec interface structure. </div><div class="ttdef"><b>Definition:</b> vpx_codec.h:175</div></div>
<div class="ttc" id="group__encoder_html_gae9f8f75978a1ebcf1f358964b55ecb9e"><div class="ttname"><a href="group__encoder.html#gae9f8f75978a1ebcf1f358964b55ecb9e">vpx_codec_set_cx_data_buf</a></div><div class="ttdeci">vpx_codec_err_t vpx_codec_set_cx_data_buf(vpx_codec_ctx_t *ctx, const vpx_fixed_buf_t *buf, unsigned int pad_before, unsigned int pad_after)</div><div class="ttdoc">Set compressed data output buffer. </div></div>
<div class="ttc" id="group__encoder_html_ggaf50e74d91be4cae6f70dfeba5b7410d2a5ebb5564dc5e8ec99d3c6221d89b8858"><div class="ttname"><a href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a5ebb5564dc5e8ec99d3c6221d89b8858">VPX_Q</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:241</div></div>
<div class="ttc" id="structvpx__image_html"><div class="ttname"><a href="structvpx__image.html">vpx_image</a></div><div class="ttdoc">Image Descriptor. </div><div class="ttdef"><b>Definition:</b> vpx_image.h:99</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_aa75fe039fe6b47fb25d20684864bef12"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#aa75fe039fe6b47fb25d20684864bef12">vpx_codec_cx_pkt::pts</a></div><div class="ttdeci">vpx_codec_pts_t pts</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:187</div></div>
<div class="ttc" id="group__encoder_html_ga9f461802aa4db35c04a8b23837987f40"><div class="ttname"><a href="group__encoder.html#ga9f461802aa4db35c04a8b23837987f40">vpx_kf_mode</a></div><div class="ttdeci">vpx_kf_mode</div><div class="ttdoc">Keyframe placement mode. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:253</div></div>
<div class="ttc" id="group__encoder_html_ga2715ac3dd8bf2f5438c4bbfc82788eb2"><div class="ttname"><a href="group__encoder.html#ga2715ac3dd8bf2f5438c4bbfc82788eb2">VPX_TS_MAX_LAYERS</a></div><div class="ttdeci">#define VPX_TS_MAX_LAYERS</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:40</div></div>
<div class="ttc" id="group__encoder_html_ggaf50e74d91be4cae6f70dfeba5b7410d2a8b02853cb35790d60cc171a11f6c268a"><div class="ttname"><a href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a8b02853cb35790d60cc171a11f6c268a">VPX_CBR</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:239</div></div>
<div class="ttc" id="group__encoder_html_ga946236c809e493b31a815d82db1e59db"><div class="ttname"><a href="group__encoder.html#ga946236c809e493b31a815d82db1e59db">vpx_codec_enc_cfg_t</a></div><div class="ttdeci">struct vpx_codec_enc_cfg vpx_codec_enc_cfg_t</div><div class="ttdoc">Encoder configuration structure. </div></div>
<div class="ttc" id="group__encoder_html_ga21fab7dd28065f349c97165501223764"><div class="ttname"><a href="group__encoder.html#ga21fab7dd28065f349c97165501223764">vpx_fixed_buf_t</a></div><div class="ttdeci">struct vpx_fixed_buf vpx_fixed_buf_t</div><div class="ttdoc">Generic fixed size buffer structure. </div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_acc7ee91ea9c907aea7c3b953324f7c26"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#acc7ee91ea9c907aea7c3b953324f7c26">vpx_codec_cx_pkt::raw</a></div><div class="ttdeci">struct vpx_fixed_buf raw</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:206</div></div>
<div class="ttc" id="structvpx__rational_html_a29dd2ab4001377b3aa21885ef969759f"><div class="ttname"><a href="structvpx__rational.html#a29dd2ab4001377b3aa21885ef969759f">vpx_rational::den</a></div><div class="ttdeci">int den</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:224</div></div>
<div class="ttc" id="group__encoder_html_gga28a79375279536526552af3a83d2ed72a77cd8b95d9891bcce36117f5f31994fd"><div class="ttname"><a href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a77cd8b95d9891bcce36117f5f31994fd">VPX_CODEC_STATS_PKT</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:170</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_aaffee6af93af238ca7a145fb56c6d6f7"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#aaffee6af93af238ca7a145fb56c6d6f7">vpx_codec_cx_pkt::partition_id</a></div><div class="ttdeci">int partition_id</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:192</div></div>
<div class="ttc" id="group__encoder_html_ga476c5417f9c15a1dc5d3f68fa44c493f"><div class="ttname"><a href="group__encoder.html#ga476c5417f9c15a1dc5d3f68fa44c493f">vpx_enc_pass</a></div><div class="ttdeci">vpx_enc_pass</div><div class="ttdoc">Multi-pass Encoding Pass. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:229</div></div>
<div class="ttc" id="structvpx__codec__enc__cfg_html"><div class="ttname"><a href="structvpx__codec__enc__cfg.html">vpx_codec_enc_cfg</a></div><div class="ttdoc">Encoder configuration structure. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:277</div></div>
<div class="ttc" id="group__encoder_html_gga28a79375279536526552af3a83d2ed72a7b54c122969397b1926de853d28b3c80"><div class="ttname"><a href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a7b54c122969397b1926de853d28b3c80">VPX_CODEC_CUSTOM_PKT</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:172</div></div>
<div class="ttc" id="group__encoder_html_gga28a79375279536526552af3a83d2ed72a11eefa1328e6d22eb7c844645a260628"><div class="ttname"><a href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a11eefa1328e6d22eb7c844645a260628">VPX_CODEC_PSNR_PKT</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:171</div></div>
<div class="ttc" id="group__encoder_html_gga9f461802aa4db35c04a8b23837987f40ab1b423e78f72e77d2dce755d6c9652f8"><div class="ttname"><a href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40ab1b423e78f72e77d2dce755d6c9652f8">VPX_KF_AUTO</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:255</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html"><div class="ttname"><a href="structvpx__codec__cx__pkt.html">vpx_codec_cx_pkt</a></div><div class="ttdoc">Encoder output packet. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:181</div></div>
<div class="ttc" id="structvpx__fixed__buf_html_ac93e43ae3fcc1023dca86d37016ae3f0"><div class="ttname"><a href="structvpx__fixed__buf.html#ac93e43ae3fcc1023dca86d37016ae3f0">vpx_fixed_buf::buf</a></div><div class="ttdeci">void * buf</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:102</div></div>
<div class="ttc" id="group__encoder_html_gabbc036b1fbc1288485df5562a989da9b"><div class="ttname"><a href="group__encoder.html#gabbc036b1fbc1288485df5562a989da9b">vpx_codec_enc_config_set</a></div><div class="ttdeci">vpx_codec_err_t vpx_codec_enc_config_set(vpx_codec_ctx_t *ctx, const vpx_codec_enc_cfg_t *cfg)</div><div class="ttdoc">Set or change configuration. </div></div>
<div class="ttc" id="structvpx__fixed__buf_html"><div class="ttname"><a href="structvpx__fixed__buf.html">vpx_fixed_buf</a></div><div class="ttdoc">Generic fixed size buffer structure. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:101</div></div>
<div class="ttc" id="group__encoder_html_gaac8ee319b9a6175f6946f59437c7ae4b"><div class="ttname"><a href="group__encoder.html#gaac8ee319b9a6175f6946f59437c7ae4b">vpx_codec_frame_flags_t</a></div><div class="ttdeci">uint32_t vpx_codec_frame_flags_t</div><div class="ttdoc">Compressed Frame Flags. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:122</div></div>
<div class="ttc" id="group__encoder_html_gga476c5417f9c15a1dc5d3f68fa44c493faa0765945345b160905f3b762986dae3b"><div class="ttname"><a href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493faa0765945345b160905f3b762986dae3b">VPX_RC_FIRST_PASS</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:231</div></div>
<div class="ttc" id="group__encoder_html_gga476c5417f9c15a1dc5d3f68fa44c493fa65da543b956d6a9b1f301ab8cc90d3a7"><div class="ttname"><a href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493fa65da543b956d6a9b1f301ab8cc90d3a7">VPX_RC_LAST_PASS</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:232</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_a81e33bf4408a3983abb16492fee359ff"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#a81e33bf4408a3983abb16492fee359ff">vpx_codec_cx_pkt::frame</a></div><div class="ttdeci">struct vpx_codec_cx_pkt::@1::@2 frame</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_ad65e918d3f26743cc7a8898b88bcb397"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#ad65e918d3f26743cc7a8898b88bcb397">vpx_codec_cx_pkt::sse</a></div><div class="ttdeci">uint64_t sse[4]</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:203</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_a857321ba2dc65e81c430d14c36a542d9"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#a857321ba2dc65e81c430d14c36a542d9">vpx_codec_cx_pkt::sz</a></div><div class="ttdeci">size_t sz</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:186</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_a41f395b39516343c1329a4a85a0084f2"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#a41f395b39516343c1329a4a85a0084f2">vpx_codec_cx_pkt::kind</a></div><div class="ttdeci">enum vpx_codec_cx_pkt_kind kind</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:182</div></div>
<div class="ttc" id="group__encoder_html_ga99e4a3c966f0de19fe1aa626bd860366"><div class="ttname"><a href="group__encoder.html#ga99e4a3c966f0de19fe1aa626bd860366">vpx_enc_frame_flags_t</a></div><div class="ttdeci">long vpx_enc_frame_flags_t</div><div class="ttdoc">Encoded Frame Flags. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:267</div></div>
<div class="ttc" id="structvpx__rational_html_ae7774f21a22c9bef3aa73156c79f4731"><div class="ttname"><a href="structvpx__rational.html#ae7774f21a22c9bef3aa73156c79f4731">vpx_rational::num</a></div><div class="ttdeci">int num</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:223</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_a49a0ba012fdabd49bff8069dfacf6ced"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#a49a0ba012fdabd49bff8069dfacf6ced">vpx_codec_cx_pkt::pad</a></div><div class="ttdeci">char pad[128-sizeof(enum vpx_codec_cx_pkt_kind)]</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:213</div></div>
<div class="ttc" id="group__encoder_html_ga9ab8c79623312e9c5d5405d66a788f59"><div class="ttname"><a href="group__encoder.html#ga9ab8c79623312e9c5d5405d66a788f59">vpx_codec_enc_config_default</a></div><div class="ttdeci">vpx_codec_err_t vpx_codec_enc_config_default(vpx_codec_iface_t *iface, vpx_codec_enc_cfg_t *cfg, unsigned int usage)</div><div class="ttdoc">Get a default configuration. </div></div>
<div class="ttc" id="group__codec_html_ga3b36d5af89ddc463489fe5bde0a57877"><div class="ttname"><a href="group__codec.html#ga3b36d5af89ddc463489fe5bde0a57877">vpx_codec_flags_t</a></div><div class="ttdeci">long vpx_codec_flags_t</div><div class="ttdoc">Initialization-time Feature Enabling. </div><div class="ttdef"><b>Definition:</b> vpx_codec.h:166</div></div>
<div class="ttc" id="group__encoder_html_ga28a79375279536526552af3a83d2ed72"><div class="ttname"><a href="group__encoder.html#ga28a79375279536526552af3a83d2ed72">vpx_codec_cx_pkt_kind</a></div><div class="ttdeci">vpx_codec_cx_pkt_kind</div><div class="ttdoc">Encoder output packet variants. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:168</div></div>
<div class="ttc" id="group__encoder_html_ggaf50e74d91be4cae6f70dfeba5b7410d2ab8fbe4441ed3f31a167c8194e8a64f87"><div class="ttname"><a href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2ab8fbe4441ed3f31a167c8194e8a64f87">VPX_VBR</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:238</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_a63744aeceb50355d6402d55309c151b6"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#a63744aeceb50355d6402d55309c151b6">vpx_codec_cx_pkt::psnr</a></div><div class="ttdeci">double psnr[4]</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:204</div></div>
<div class="ttc" id="group__encoder_html_gga9f461802aa4db35c04a8b23837987f40a6bd87eea515c65661a5241a0f01e44a6"><div class="ttname"><a href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40a6bd87eea515c65661a5241a0f01e44a6">VPX_KF_FIXED</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:254</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_a4d3fc7eb2d19c5913c6f3f474e5cf77b"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#a4d3fc7eb2d19c5913c6f3f474e5cf77b">vpx_codec_cx_pkt::samples</a></div><div class="ttdeci">unsigned int samples[4]</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:202</div></div>
<div class="ttc" id="group__encoder_html_gaf50e74d91be4cae6f70dfeba5b7410d2"><div class="ttname"><a href="group__encoder.html#gaf50e74d91be4cae6f70dfeba5b7410d2">vpx_rc_mode</a></div><div class="ttdeci">vpx_rc_mode</div><div class="ttdoc">Rate control mode. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:237</div></div>
<div class="ttc" id="group__encoder_html_ga6ed21b96c481c0b6e1b543ef958a57a4"><div class="ttname"><a href="group__encoder.html#ga6ed21b96c481c0b6e1b543ef958a57a4">vpx_codec_enc_init_ver</a></div><div class="ttdeci">vpx_codec_err_t vpx_codec_enc_init_ver(vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, vpx_codec_enc_cfg_t *cfg, vpx_codec_flags_t flags, int ver)</div><div class="ttdoc">Initialize an encoder instance. </div></div>
<div class="ttc" id="group__encoder_html_ga250aee4536aa2475e85cf61c9710c963"><div class="ttname"><a href="group__encoder.html#ga250aee4536aa2475e85cf61c9710c963">vpx_codec_get_preview_frame</a></div><div class="ttdeci">const vpx_image_t * vpx_codec_get_preview_frame(vpx_codec_ctx_t *ctx)</div><div class="ttdoc">Get Preview Frame. </div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_afb8d9069980e759d97d2eb9fae7e5e06"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#afb8d9069980e759d97d2eb9fae7e5e06">vpx_codec_cx_pkt::duration</a></div><div class="ttdeci">unsigned long duration</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:189</div></div>
<div class="ttc" id="group__encoder_html_ga77e0e1fff62556a4f4d54c84467a41f3"><div class="ttname"><a href="group__encoder.html#ga77e0e1fff62556a4f4d54c84467a41f3">vpx_codec_er_flags_t</a></div><div class="ttdeci">uint32_t vpx_codec_er_flags_t</div><div class="ttdoc">Error Resilient flags. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:142</div></div>
<div class="ttc" id="group__codec_html_gada1084710837ad363b92f2379dd2b8d2"><div class="ttname"><a href="group__codec.html#gada1084710837ad363b92f2379dd2b8d2">vpx_codec_err_t</a></div><div class="ttdeci">vpx_codec_err_t</div><div class="ttdoc">Algorithm return codes. </div><div class="ttdef"><b>Definition:</b> vpx_codec.h:89</div></div>
<div class="ttc" id="group__encoder_html_gae81cab25d66cf3bc59f1f75f8a5af720"><div class="ttname"><a href="group__encoder.html#gae81cab25d66cf3bc59f1f75f8a5af720">vpx_codec_get_cx_data</a></div><div class="ttdeci">const vpx_codec_cx_pkt_t * vpx_codec_get_cx_data(vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter)</div><div class="ttdoc">Encoded data iterator. </div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_a7f97b060a23b7e89fe5b885c0074f696"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#a7f97b060a23b7e89fe5b885c0074f696">vpx_codec_cx_pkt::data</a></div><div class="ttdeci">union vpx_codec_cx_pkt::@1 data</div></div>
<div class="ttc" id="group__encoder_html_ga3f711e17fbefac545e8959ef5a023556"><div class="ttname"><a href="group__encoder.html#ga3f711e17fbefac545e8959ef5a023556">vpx_codec_cx_pkt_t</a></div><div class="ttdeci">struct vpx_codec_cx_pkt vpx_codec_cx_pkt_t</div><div class="ttdoc">Encoder output packet. </div></div>
<div class="ttc" id="group__encoder_html_ga2c08c6d71202024f17a5aef71a3d13e5"><div class="ttname"><a href="group__encoder.html#ga2c08c6d71202024f17a5aef71a3d13e5">vpx_rational_t</a></div><div class="ttdeci">struct vpx_rational vpx_rational_t</div><div class="ttdoc">Rational Number. </div></div>
<div class="ttc" id="group__encoder_html_gga9f461802aa4db35c04a8b23837987f40a56513f60cbf3434ca0092173005d0ab2"><div class="ttname"><a href="group__encoder.html#gga9f461802aa4db35c04a8b23837987f40a56513f60cbf3434ca0092173005d0ab2">VPX_KF_DISABLED</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:256</div></div>
<div class="ttc" id="group__encoder_html_ga7e711b0a71c65aef8f0faea8bd57b05f"><div class="ttname"><a href="group__encoder.html#ga7e711b0a71c65aef8f0faea8bd57b05f">vpx_codec_pts_t</a></div><div class="ttdeci">int64_t vpx_codec_pts_t</div><div class="ttdoc">Time Stamp Type. </div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:112</div></div>
<div class="ttc" id="group__encoder_html_ga684b48cb6e47a258247637186557eb19"><div class="ttname"><a href="group__encoder.html#ga684b48cb6e47a258247637186557eb19">VPX_TS_MAX_PERIODICITY</a></div><div class="ttdeci">#define VPX_TS_MAX_PERIODICITY</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:37</div></div>
<div class="ttc" id="group__encoder_html_ga512eb105fef18bebb02e134e4cbc82ff"><div class="ttname"><a href="group__encoder.html#ga512eb105fef18bebb02e134e4cbc82ff">vpx_codec_get_global_headers</a></div><div class="ttdeci">vpx_fixed_buf_t * vpx_codec_get_global_headers(vpx_codec_ctx_t *ctx)</div><div class="ttdoc">Get global stream headers. </div></div>
<div class="ttc" id="group__encoder_html_ggaf50e74d91be4cae6f70dfeba5b7410d2a5f2fd02b55c67d62bfd79380bcb03f63"><div class="ttname"><a href="group__encoder.html#ggaf50e74d91be4cae6f70dfeba5b7410d2a5f2fd02b55c67d62bfd79380bcb03f63">VPX_CQ</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:240</div></div>
<div class="ttc" id="vpx__codec_8h_html"><div class="ttname"><a href="vpx__codec_8h.html">vpx_codec.h</a></div><div class="ttdoc">Describes the codec algorithm interface to applications. </div></div>
<div class="ttc" id="group__encoder_html_ga1c0415984a5469687f53613a5471f53d"><div class="ttname"><a href="group__encoder.html#ga1c0415984a5469687f53613a5471f53d">vpx_codec_enc_init_multi_ver</a></div><div class="ttdeci">vpx_codec_err_t vpx_codec_enc_init_multi_ver(vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, vpx_codec_enc_cfg_t *cfg, int num_enc, vpx_codec_flags_t flags, vpx_rational_t *dsf, int ver)</div><div class="ttdoc">Initialize multi-encoder instance. </div></div>
<div class="ttc" id="group__codec_html_ga6ea348f76b1f8a1fe50e14db684146c6"><div class="ttname"><a href="group__codec.html#ga6ea348f76b1f8a1fe50e14db684146c6">vpx_codec_iter_t</a></div><div class="ttdeci">const void * vpx_codec_iter_t</div><div class="ttdoc">Iterator. </div><div class="ttdef"><b>Definition:</b> vpx_codec.h:190</div></div>
<div class="ttc" id="group__encoder_html_gga28a79375279536526552af3a83d2ed72a2261aae5594289400e812fb1e6b6b0cc"><div class="ttname"><a href="group__encoder.html#gga28a79375279536526552af3a83d2ed72a2261aae5594289400e812fb1e6b6b0cc">VPX_CODEC_CX_FRAME_PKT</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:169</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_a3876fe0306342611465e9c15c6c4ae2f"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#a3876fe0306342611465e9c15c6c4ae2f">vpx_codec_cx_pkt::flags</a></div><div class="ttdeci">vpx_codec_frame_flags_t flags</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:191</div></div>
<div class="ttc" id="structvpx__codec__cx__pkt_html_a9e1db068593b6037e70b05b5239784d2"><div class="ttname"><a href="structvpx__codec__cx__pkt.html#a9e1db068593b6037e70b05b5239784d2">vpx_codec_cx_pkt::buf</a></div><div class="ttdeci">void * buf</div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:185</div></div>
<div class="ttc" id="group__encoder_html_gga476c5417f9c15a1dc5d3f68fa44c493fa7b6943a41868e8e26a77e9500f139ca1"><div class="ttname"><a href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493fa7b6943a41868e8e26a77e9500f139ca1">VPX_RC_ONE_PASS</a></div><div class="ttdef"><b>Definition:</b> vpx_encoder.h:230</div></div>
<div class="ttc" id="structvpx__codec__ctx_html"><div class="ttname"><a href="structvpx__codec__ctx.html">vpx_codec_ctx</a></div><div class="ttdoc">Codec context structure. </div><div class="ttdef"><b>Definition:</b> vpx_codec.h:201</div></div>
</div><!-- fragment --></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.5
</small></address>
</body>
</html>
OHA YOOOO