Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > d1581bfadd36c1fdc3944ab001e27eac > files > 75

libvpx-devel-0.9.7.1-1.fc16.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>WebM VP8 Codec SDK: vpx_codec_enc_cfg Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">WebM VP8 Codec SDK</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">vpx_codec_enc_cfg Struct Reference<div class="ingroups"><a class="el" href="group__encoder.html">Encoder Algorithm Interface</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="vpx_codec_enc_cfg" -->
<p>Encoder configuration structure.  
 <a href="structvpx__codec__enc__cfg.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="vpx__encoder_8h_source.html">vpx_encoder.h</a>&gt;</code></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a5bcf7fc1efc4890de351e3c6fe252355">g_usage</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Algorithm specific "usage" value.  <a href="#a5bcf7fc1efc4890de351e3c6fe252355"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#aff9d8d458c45c95dd542603210ba2b8b">g_threads</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of threads to use.  <a href="#aff9d8d458c45c95dd542603210ba2b8b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a3d7fe3a8b237338c094d5a956a41804d">g_profile</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitstream profile to use.  <a href="#a3d7fe3a8b237338c094d5a956a41804d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a5c165f5b41ca1158f2883983a2b7709c">g_w</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Width of the frame.  <a href="#a5c165f5b41ca1158f2883983a2b7709c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a4132bd89ce85bce7c08f2cc3b6f2b82e">g_h</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Height of the frame.  <a href="#a4132bd89ce85bce7c08f2cc3b6f2b82e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structvpx__rational.html">vpx_rational</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a6498d378e4c29ef3e22258289e481087">g_timebase</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Stream timebase units.  <a href="#a6498d378e4c29ef3e22258289e481087"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__encoder.html#ga77e0e1fff62556a4f4d54c84467a41f3">vpx_codec_er_flags_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a4e17173b66ca0d7dfba9978625d7ba76">g_error_resilient</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable error resilient modes.  <a href="#a4e17173b66ca0d7dfba9978625d7ba76"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__encoder.html#ga476c5417f9c15a1dc5d3f68fa44c493f">vpx_enc_pass</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a70d62d87aae7d1168746577f14a6dccf">g_pass</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-pass Encoding Mode.  <a href="#a70d62d87aae7d1168746577f14a6dccf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a992668d9e30305f3f7ab2672ea31a890">g_lag_in_frames</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Allow lagged encoding.  <a href="#a992668d9e30305f3f7ab2672ea31a890"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a619269f9a6904de58c4790e6806a3905">rc_dropframe_thresh</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Temporal resampling configuration, if supported by the codec.  <a href="#a619269f9a6904de58c4790e6806a3905"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a02a4e2f18fb0fdfff44df8b0d9a99d6c">rc_resize_allowed</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable spatial resampling, if supported by the codec.  <a href="#a02a4e2f18fb0fdfff44df8b0d9a99d6c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a855599c0660f31dfcab4a64996b4f6ad">rc_resize_up_thresh</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Spatial resampling up watermark.  <a href="#a855599c0660f31dfcab4a64996b4f6ad"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a1be7bd7b0eaf1e99b5e4028c37c65488">rc_resize_down_thresh</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Spatial resampling down watermark.  <a href="#a1be7bd7b0eaf1e99b5e4028c37c65488"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__encoder.html#gaf50e74d91be4cae6f70dfeba5b7410d2">vpx_rc_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a99c415edb6c6f909a095a57c3430a116">rc_end_usage</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rate control algorithm to use.  <a href="#a99c415edb6c6f909a095a57c3430a116"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structvpx__fixed__buf.html">vpx_fixed_buf</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a618616a07d9d8883c544731957b56f3c">rc_twopass_stats_in</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Two-pass stats buffer.  <a href="#a618616a07d9d8883c544731957b56f3c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#ab8339685175d66710f482706cc9f0aed">rc_target_bitrate</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Target data rate.  <a href="#ab8339685175d66710f482706cc9f0aed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a1324600e3c63faaa7717e85cf6509dd9">rc_min_quantizer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum (Best Quality) Quantizer.  <a href="#a1324600e3c63faaa7717e85cf6509dd9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a8abdd985d317b720e142335887d737df">rc_max_quantizer</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum (Worst Quality) Quantizer.  <a href="#a8abdd985d317b720e142335887d737df"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#ad279fbb0a9fe9395340913161e28651a">rc_undershoot_pct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rate control adaptation undershoot control.  <a href="#ad279fbb0a9fe9395340913161e28651a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a4f2fbd015c1b1f395cc4a4b03d4ead5f">rc_overshoot_pct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Rate control adaptation overshoot control.  <a href="#a4f2fbd015c1b1f395cc4a4b03d4ead5f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a61866272bb588cd86d28834f420430f0">rc_buf_sz</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decoder Buffer Size.  <a href="#a61866272bb588cd86d28834f420430f0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#aa9e4d6405994ef42d61d478cf6e0d5e0">rc_buf_initial_sz</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decoder Buffer Initial Size.  <a href="#aa9e4d6405994ef42d61d478cf6e0d5e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#aafde485867e040a58504ad796e79e47f">rc_buf_optimal_sz</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Decoder Buffer Optimal Size.  <a href="#aafde485867e040a58504ad796e79e47f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a21c21ff097890dc3a450731c9b504cf4">rc_2pass_vbr_bias_pct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Two-pass mode CBR/VBR bias.  <a href="#a21c21ff097890dc3a450731c9b504cf4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a21eb9fce0844ae07b617bf3f0a25f5a5">rc_2pass_vbr_minsection_pct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Two-pass mode per-GOP minimum bitrate.  <a href="#a21eb9fce0844ae07b617bf3f0a25f5a5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#ab5212050b71b2d9f4dc663caa496949e">rc_2pass_vbr_maxsection_pct</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Two-pass mode per-GOP maximum bitrate.  <a href="#ab5212050b71b2d9f4dc663caa496949e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="group__encoder.html#ga9f461802aa4db35c04a8b23837987f40">vpx_kf_mode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a491d67f061dcdb13f60c017563e9d788">kf_mode</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Keyframe placement mode.  <a href="#a491d67f061dcdb13f60c017563e9d788"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#a0a7b5444ecb09745cbe8d5af17553846">kf_min_dist</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Keyframe minimum interval.  <a href="#a0a7b5444ecb09745cbe8d5af17553846"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structvpx__codec__enc__cfg.html#ae018440136e271743376730413d25a9b">kf_max_dist</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Keyframe maximum interval.  <a href="#ae018440136e271743376730413d25a9b"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Encoder configuration structure. </p>
<p>This structure contains the encoder settings that have common representations across all codecs. This doesn't imply that all codecs support all features, however. </p>
</div><hr/><h2>Field Documentation</h2>
<a class="anchor" id="a5bcf7fc1efc4890de351e3c6fe252355"></a><!-- doxytag: member="vpx_codec_enc_cfg::g_usage" ref="a5bcf7fc1efc4890de351e3c6fe252355" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a5bcf7fc1efc4890de351e3c6fe252355">vpx_codec_enc_cfg::g_usage</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Algorithm specific "usage" value. </p>
<p>Algorithms may define multiple values for usage, which may convey the intent of how the application intends to use the stream. If this value is non-zero, consult the documentation for the codec to determine its meaning. </p>

</div>
</div>
<a class="anchor" id="aff9d8d458c45c95dd542603210ba2b8b"></a><!-- doxytag: member="vpx_codec_enc_cfg::g_threads" ref="aff9d8d458c45c95dd542603210ba2b8b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#aff9d8d458c45c95dd542603210ba2b8b">vpx_codec_enc_cfg::g_threads</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Maximum number of threads to use. </p>
<p>For multi-threaded implementations, use no more than this number of threads. The codec may use fewer threads than allowed. The value 0 is equivalent to the value 1. </p>

</div>
</div>
<a class="anchor" id="a3d7fe3a8b237338c094d5a956a41804d"></a><!-- doxytag: member="vpx_codec_enc_cfg::g_profile" ref="a3d7fe3a8b237338c094d5a956a41804d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a3d7fe3a8b237338c094d5a956a41804d">vpx_codec_enc_cfg::g_profile</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Bitstream profile to use. </p>
<p>Some codecs support a notion of multiple bitstream profiles. Typically this maps to a set of features that are turned on or off. Often the profile to use is determined by the features of the intended decoder. Consult the documentation for the codec to determine the valid values for this parameter, or set to zero for a sane default. profile of bitstream to use </p>

</div>
</div>
<a class="anchor" id="a5c165f5b41ca1158f2883983a2b7709c"></a><!-- doxytag: member="vpx_codec_enc_cfg::g_w" ref="a5c165f5b41ca1158f2883983a2b7709c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a5c165f5b41ca1158f2883983a2b7709c">vpx_codec_enc_cfg::g_w</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Width of the frame. </p>
<p>This value identifies the presentation resolution of the frame, in pixels. Note that the frames passed as input to the encoder must have this resolution. Frames will be presented by the decoder in this resolution, independent of any spatial resampling the encoder may do. </p>

</div>
</div>
<a class="anchor" id="a4132bd89ce85bce7c08f2cc3b6f2b82e"></a><!-- doxytag: member="vpx_codec_enc_cfg::g_h" ref="a4132bd89ce85bce7c08f2cc3b6f2b82e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a4132bd89ce85bce7c08f2cc3b6f2b82e">vpx_codec_enc_cfg::g_h</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Height of the frame. </p>
<p>This value identifies the presentation resolution of the frame, in pixels. Note that the frames passed as input to the encoder must have this resolution. Frames will be presented by the decoder in this resolution, independent of any spatial resampling the encoder may do. </p>

</div>
</div>
<a class="anchor" id="a6498d378e4c29ef3e22258289e481087"></a><!-- doxytag: member="vpx_codec_enc_cfg::g_timebase" ref="a6498d378e4c29ef3e22258289e481087" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structvpx__rational.html">vpx_rational</a> <a class="el" href="structvpx__codec__enc__cfg.html#a6498d378e4c29ef3e22258289e481087">vpx_codec_enc_cfg::g_timebase</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Stream timebase units. </p>
<p>Indicates the smallest interval of time, in seconds, used by the stream. For fixed frame rate material, or variable frame rate material where frames are timed at a multiple of a given clock (ex: video capture), the <a class="el" href="rfc2119.html#RECOMMENDED">RECOMMENDED</a> method is to set the timebase to the reciprocal of the frame rate (ex: 1001/30000 for 29.970 Hz NTSC). This allows the pts to correspond to the frame number, which can be handy. For re-encoding video from containers with absolute time timestamps, the <a class="el" href="rfc2119.html#RECOMMENDED">RECOMMENDED</a> method is to set the timebase to that of the parent container or multimedia framework (ex: 1/1000 for ms, as in FLV). </p>

</div>
</div>
<a class="anchor" id="a4e17173b66ca0d7dfba9978625d7ba76"></a><!-- doxytag: member="vpx_codec_enc_cfg::g_error_resilient" ref="a4e17173b66ca0d7dfba9978625d7ba76" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__encoder.html#ga77e0e1fff62556a4f4d54c84467a41f3">vpx_codec_er_flags_t</a> <a class="el" href="structvpx__codec__enc__cfg.html#a4e17173b66ca0d7dfba9978625d7ba76">vpx_codec_enc_cfg::g_error_resilient</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enable error resilient modes. </p>
<p>The error resilient bitfield indicates to the encoder which features it should enable to take measures for streaming over lossy or noisy links. </p>

</div>
</div>
<a class="anchor" id="a70d62d87aae7d1168746577f14a6dccf"></a><!-- doxytag: member="vpx_codec_enc_cfg::g_pass" ref="a70d62d87aae7d1168746577f14a6dccf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__encoder.html#ga476c5417f9c15a1dc5d3f68fa44c493f">vpx_enc_pass</a> <a class="el" href="structvpx__codec__enc__cfg.html#a70d62d87aae7d1168746577f14a6dccf">vpx_codec_enc_cfg::g_pass</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Multi-pass Encoding Mode. </p>
<p>This value should be set to the current phase for multi-pass encoding. For single pass, set to <a class="el" href="group__encoder.html#gga476c5417f9c15a1dc5d3f68fa44c493fa7b6943a41868e8e26a77e9500f139ca1">VPX_RC_ONE_PASS</a>. </p>

</div>
</div>
<a class="anchor" id="a992668d9e30305f3f7ab2672ea31a890"></a><!-- doxytag: member="vpx_codec_enc_cfg::g_lag_in_frames" ref="a992668d9e30305f3f7ab2672ea31a890" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a992668d9e30305f3f7ab2672ea31a890">vpx_codec_enc_cfg::g_lag_in_frames</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Allow lagged encoding. </p>
<p>If set, this value allows the encoder to consume a number of input frames before producing output frames. This allows the encoder to base decisions for the current frame on future frames. This does increase the latency of the encoding pipeline, so it is not appropriate in all situations (ex: realtime encoding).</p>
<p>Note that this is a maximum value -- the encoder may produce frames sooner than the given limit. Set this value to 0 to disable this feature. </p>

</div>
</div>
<a class="anchor" id="a619269f9a6904de58c4790e6806a3905"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_dropframe_thresh" ref="a619269f9a6904de58c4790e6806a3905" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a619269f9a6904de58c4790e6806a3905">vpx_codec_enc_cfg::rc_dropframe_thresh</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Temporal resampling configuration, if supported by the codec. </p>
<p>Temporal resampling allows the codec to "drop" frames as a strategy to meet its target data rate. This can cause temporal discontinuities in the encoded video, which may appear as stuttering during playback. This trade-off is often acceptable, but for many applications is not. It can be disabled in these cases.</p>
<p>Note that not all codecs support this feature. All vpx VPx codecs do. For other codecs, consult the documentation for that algorithm.</p>
<p>This threshold is described as a percentage of the target data buffer. When the data buffer falls below this percentage of fullness, a dropped frame is indicated. Set the threshold to zero (0) to disable this feature. </p>

</div>
</div>
<a class="anchor" id="a02a4e2f18fb0fdfff44df8b0d9a99d6c"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_resize_allowed" ref="a02a4e2f18fb0fdfff44df8b0d9a99d6c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a02a4e2f18fb0fdfff44df8b0d9a99d6c">vpx_codec_enc_cfg::rc_resize_allowed</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enable/disable spatial resampling, if supported by the codec. </p>
<p>Spatial resampling allows the codec to compress a lower resolution version of the frame, which is then upscaled by the encoder to the correct presentation resolution. This increases visual quality at low data rates, at the expense of CPU time on the encoder/decoder. </p>

</div>
</div>
<a class="anchor" id="a855599c0660f31dfcab4a64996b4f6ad"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_resize_up_thresh" ref="a855599c0660f31dfcab4a64996b4f6ad" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a855599c0660f31dfcab4a64996b4f6ad">vpx_codec_enc_cfg::rc_resize_up_thresh</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Spatial resampling up watermark. </p>
<p>This threshold is described as a percentage of the target data buffer. When the data buffer rises above this percentage of fullness, the encoder will step up to a higher resolution version of the frame. </p>

</div>
</div>
<a class="anchor" id="a1be7bd7b0eaf1e99b5e4028c37c65488"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_resize_down_thresh" ref="a1be7bd7b0eaf1e99b5e4028c37c65488" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a1be7bd7b0eaf1e99b5e4028c37c65488">vpx_codec_enc_cfg::rc_resize_down_thresh</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Spatial resampling down watermark. </p>
<p>This threshold is described as a percentage of the target data buffer. When the data buffer falls below this percentage of fullness, the encoder will step down to a lower resolution version of the frame. </p>

</div>
</div>
<a class="anchor" id="a99c415edb6c6f909a095a57c3430a116"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_end_usage" ref="a99c415edb6c6f909a095a57c3430a116" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__encoder.html#gaf50e74d91be4cae6f70dfeba5b7410d2">vpx_rc_mode</a> <a class="el" href="structvpx__codec__enc__cfg.html#a99c415edb6c6f909a095a57c3430a116">vpx_codec_enc_cfg::rc_end_usage</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rate control algorithm to use. </p>
<p>Indicates whether the end usage of this stream is to be streamed over a bandwidth constrained link, indicating that Constant Bit Rate (CBR) mode should be used, or whether it will be played back on a high bandwidth link, as from a local disk, where higher variations in bitrate are acceptable. </p>

</div>
</div>
<a class="anchor" id="a618616a07d9d8883c544731957b56f3c"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_twopass_stats_in" ref="a618616a07d9d8883c544731957b56f3c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structvpx__fixed__buf.html">vpx_fixed_buf</a> <a class="el" href="structvpx__codec__enc__cfg.html#a618616a07d9d8883c544731957b56f3c">vpx_codec_enc_cfg::rc_twopass_stats_in</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Two-pass stats buffer. </p>
<p>A buffer containing all of the stats packets produced in the first pass, concatenated. </p>

</div>
</div>
<a class="anchor" id="ab8339685175d66710f482706cc9f0aed"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_target_bitrate" ref="ab8339685175d66710f482706cc9f0aed" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#ab8339685175d66710f482706cc9f0aed">vpx_codec_enc_cfg::rc_target_bitrate</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Target data rate. </p>
<p>Target bandwidth to use for this stream, in kilobits per second. </p>

</div>
</div>
<a class="anchor" id="a1324600e3c63faaa7717e85cf6509dd9"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_min_quantizer" ref="a1324600e3c63faaa7717e85cf6509dd9" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a1324600e3c63faaa7717e85cf6509dd9">vpx_codec_enc_cfg::rc_min_quantizer</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Minimum (Best Quality) Quantizer. </p>
<p>The quantizer is the most direct control over the quality of the encoded image. The range of valid values for the quantizer is codec specific. Consult the documentation for the codec to determine the values to use. To determine the range programmatically, call <a class="el" href="group__encoder.html#ga9ab8c79623312e9c5d5405d66a788f59" title="Get a default configuration.">vpx_codec_enc_config_default()</a> with a usage value of 0. </p>

</div>
</div>
<a class="anchor" id="a8abdd985d317b720e142335887d737df"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_max_quantizer" ref="a8abdd985d317b720e142335887d737df" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a8abdd985d317b720e142335887d737df">vpx_codec_enc_cfg::rc_max_quantizer</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Maximum (Worst Quality) Quantizer. </p>
<p>The quantizer is the most direct control over the quality of the encoded image. The range of valid values for the quantizer is codec specific. Consult the documentation for the codec to determine the values to use. To determine the range programmatically, call <a class="el" href="group__encoder.html#ga9ab8c79623312e9c5d5405d66a788f59" title="Get a default configuration.">vpx_codec_enc_config_default()</a> with a usage value of 0. </p>

</div>
</div>
<a class="anchor" id="ad279fbb0a9fe9395340913161e28651a"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_undershoot_pct" ref="ad279fbb0a9fe9395340913161e28651a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#ad279fbb0a9fe9395340913161e28651a">vpx_codec_enc_cfg::rc_undershoot_pct</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rate control adaptation undershoot control. </p>
<p>This value, expressed as a percentage of the target bitrate, controls the maximum allowed adaptation speed of the codec. This factor controls the maximum amount of bits that can be subtracted from the target bitrate in order to compensate for prior overshoot.</p>
<p>Valid values in the range 0-1000. </p>

</div>
</div>
<a class="anchor" id="a4f2fbd015c1b1f395cc4a4b03d4ead5f"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_overshoot_pct" ref="a4f2fbd015c1b1f395cc4a4b03d4ead5f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a4f2fbd015c1b1f395cc4a4b03d4ead5f">vpx_codec_enc_cfg::rc_overshoot_pct</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Rate control adaptation overshoot control. </p>
<p>This value, expressed as a percentage of the target bitrate, controls the maximum allowed adaptation speed of the codec. This factor controls the maximum amount of bits that can be added to the target bitrate in order to compensate for prior undershoot.</p>
<p>Valid values in the range 0-1000. </p>

</div>
</div>
<a class="anchor" id="a61866272bb588cd86d28834f420430f0"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_buf_sz" ref="a61866272bb588cd86d28834f420430f0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a61866272bb588cd86d28834f420430f0">vpx_codec_enc_cfg::rc_buf_sz</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Decoder Buffer Size. </p>
<p>This value indicates the amount of data that may be buffered by the decoding application. Note that this value is expressed in units of time (milliseconds). For example, a value of 5000 indicates that the client will buffer (at least) 5000ms worth of encoded data. Use the target bitrate (<a class="el" href="structvpx__codec__enc__cfg.html#ab8339685175d66710f482706cc9f0aed" title="Target data rate.">rc_target_bitrate</a>) to convert to bits/bytes, if necessary. </p>

</div>
</div>
<a class="anchor" id="aa9e4d6405994ef42d61d478cf6e0d5e0"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_buf_initial_sz" ref="aa9e4d6405994ef42d61d478cf6e0d5e0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#aa9e4d6405994ef42d61d478cf6e0d5e0">vpx_codec_enc_cfg::rc_buf_initial_sz</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Decoder Buffer Initial Size. </p>
<p>This value indicates the amount of data that will be buffered by the decoding application prior to beginning playback. This value is expressed in units of time (milliseconds). Use the target bitrate (<a class="el" href="structvpx__codec__enc__cfg.html#ab8339685175d66710f482706cc9f0aed" title="Target data rate.">rc_target_bitrate</a>) to convert to bits/bytes, if necessary. </p>

</div>
</div>
<a class="anchor" id="aafde485867e040a58504ad796e79e47f"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_buf_optimal_sz" ref="aafde485867e040a58504ad796e79e47f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#aafde485867e040a58504ad796e79e47f">vpx_codec_enc_cfg::rc_buf_optimal_sz</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Decoder Buffer Optimal Size. </p>
<p>This value indicates the amount of data that the encoder should try to maintain in the decoder's buffer. This value is expressed in units of time (milliseconds). Use the target bitrate (<a class="el" href="structvpx__codec__enc__cfg.html#ab8339685175d66710f482706cc9f0aed" title="Target data rate.">rc_target_bitrate</a>) to convert to bits/bytes, if necessary. </p>

</div>
</div>
<a class="anchor" id="a21c21ff097890dc3a450731c9b504cf4"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_2pass_vbr_bias_pct" ref="a21c21ff097890dc3a450731c9b504cf4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a21c21ff097890dc3a450731c9b504cf4">vpx_codec_enc_cfg::rc_2pass_vbr_bias_pct</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Two-pass mode CBR/VBR bias. </p>
<p>Bias, expressed on a scale of 0 to 100, for determining target size for the current frame. The value 0 indicates the optimal CBR mode value should be used. The value 100 indicates the optimal VBR mode value should be used. Values in between indicate which way the encoder should "lean." RC mode bias between CBR and VBR(0-100: 0-&gt;CBR, 100-&gt;VBR) </p>

</div>
</div>
<a class="anchor" id="a21eb9fce0844ae07b617bf3f0a25f5a5"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_2pass_vbr_minsection_pct" ref="a21eb9fce0844ae07b617bf3f0a25f5a5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a21eb9fce0844ae07b617bf3f0a25f5a5">vpx_codec_enc_cfg::rc_2pass_vbr_minsection_pct</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Two-pass mode per-GOP minimum bitrate. </p>
<p>This value, expressed as a percentage of the target bitrate, indicates the minimum bitrate to be used for a single GOP (aka "section") </p>

</div>
</div>
<a class="anchor" id="ab5212050b71b2d9f4dc663caa496949e"></a><!-- doxytag: member="vpx_codec_enc_cfg::rc_2pass_vbr_maxsection_pct" ref="ab5212050b71b2d9f4dc663caa496949e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#ab5212050b71b2d9f4dc663caa496949e">vpx_codec_enc_cfg::rc_2pass_vbr_maxsection_pct</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Two-pass mode per-GOP maximum bitrate. </p>
<p>This value, expressed as a percentage of the target bitrate, indicates the maximum bitrate to be used for a single GOP (aka "section") </p>

</div>
</div>
<a class="anchor" id="a491d67f061dcdb13f60c017563e9d788"></a><!-- doxytag: member="vpx_codec_enc_cfg::kf_mode" ref="a491d67f061dcdb13f60c017563e9d788" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__encoder.html#ga9f461802aa4db35c04a8b23837987f40">vpx_kf_mode</a> <a class="el" href="structvpx__codec__enc__cfg.html#a491d67f061dcdb13f60c017563e9d788">vpx_codec_enc_cfg::kf_mode</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Keyframe placement mode. </p>
<p>This value indicates whether the encoder should place keyframes at a fixed interval, or determine the optimal placement automatically (as governed by the <a class="el" href="structvpx__codec__enc__cfg.html#a0a7b5444ecb09745cbe8d5af17553846" title="Keyframe minimum interval.">kf_min_dist</a> and <a class="el" href="structvpx__codec__enc__cfg.html#ae018440136e271743376730413d25a9b" title="Keyframe maximum interval.">kf_max_dist</a> parameters) </p>

</div>
</div>
<a class="anchor" id="a0a7b5444ecb09745cbe8d5af17553846"></a><!-- doxytag: member="vpx_codec_enc_cfg::kf_min_dist" ref="a0a7b5444ecb09745cbe8d5af17553846" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#a0a7b5444ecb09745cbe8d5af17553846">vpx_codec_enc_cfg::kf_min_dist</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Keyframe minimum interval. </p>
<p>This value, expressed as a number of frames, prevents the encoder from placing a keyframe nearer than kf_min_dist to the previous keyframe. At least kf_min_dist frames non-keyframes will be coded before the next keyframe. Set kf_min_dist equal to kf_max_dist for a fixed interval. </p>

</div>
</div>
<a class="anchor" id="ae018440136e271743376730413d25a9b"></a><!-- doxytag: member="vpx_codec_enc_cfg::kf_max_dist" ref="ae018440136e271743376730413d25a9b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="structvpx__codec__enc__cfg.html#ae018440136e271743376730413d25a9b">vpx_codec_enc_cfg::kf_max_dist</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Keyframe maximum interval. </p>
<p>This value, expressed as a number of frames, forces the encoder to code a keyframe if one has not been coded in the last kf_max_dist frames. A value of 0 implies all frames will be keyframes. Set kf_min_dist equal to kf_max_dist for a fixed interval. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>vpx/<a class="el" href="vpx__encoder_8h_source.html">vpx_encoder.h</a></li>
</ul>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Tue Aug 16 2011 for WebM VP8 Codec SDK by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>