18e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<html>
28e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
38e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<head>
48e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<title>libvorbisenc - Documentation</title>
58e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<link rel=stylesheet href="style.css" type="text/css">
68e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels</head>
78e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
88e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
98e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<table border=0 width=100%>
108e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<tr>
118e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<td><p class=tiny>libvorbisenc documentation</p></td>
128e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<td align=right><p class=tiny>libvorbisenc release 1.1 - 20040709</p></td>
138e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels</tr>
148e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels</table>
158e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
168e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<h1>Libvorbisenc API changes 1.0  through 1.1</h1>
178e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
188e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas EckelsThis document describes API additions to libvorbisenc between release
198e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels1.0 and 1.1.
208e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
218e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<h2>1.0.1</h2> 
228e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
238e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas EckelsThe programming API and binary application ABI are unchanged and fully
248e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsforward/backward compatible between release 1.0 and 1.0.1.  Libvorbis,
258e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelslibvorbisenc and libvorbisfile must match versions amongst themselves,
268e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelshowever.
278e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
288e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<h2>1.1</h2>
298e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
308e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas EckelsThe binary ABI from release 1.0.1 to 1.1 is backward compatible;
318e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsapplications linked against libvorbis/libvorbisenc 1.0 and 1.0.1 will
328e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelscontinue to function correctly when upgrading the libvorbis and
338e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelslibvorbisenc dynamic libraries without re-linking. <p>
348e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
358e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas EckelsRelease 1.1 adds several possible requests to the libvorbisenc <a
368e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelshref="vorbis_encode_ctl.html">vorbis_encode_ctl()</a> call in order to
378e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsreflect the shift to <a href="overview.html#BBR">bit-reservoir style
388e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsbitrate management</a>. In addition, several <a
398e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelshref="vorbis_encode_ctl.html">vorbis_encode_ctl()</a> requests are
408e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsdeprecated (but functional) as they are redered semantically obsolete
418e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsby the <a href="overview.html#BBR">new bitrate management</a>.<p>
428e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
438e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<h3>Deprecated in 1.1</h3>
448e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
458e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas EckelsThese calls are still available to older codebases to preserve
468e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelscompatability; the fields of the <a
478e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelshref="ovectl_ratemanage_arg.html">ovectl_ratemanage_arg</a> argument
488e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsare mapped as closely as possible to the fields of the new <a
498e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelshref="ovectl_ratemanage2_arg.html">ovectl_ratemanage2_arg</a>
508e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstructure.
518e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
528e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<dl>
538e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<dt><a href="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE_GET">OV_ECTL_RATEMANAGE_GET</a>:<dd> Use <a
548e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelshref="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE2_GET">OV_ECTL_RATEMANAGE2_GET</a>
558e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsinstead.  
568e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
578e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
588e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<dt><a href="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE_SET">OV_ECTL_RATEMANAGE_SET</a>:<dd> Use <a
598e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelshref="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE2_SET">OV_ECTL_RATEMANAGE2_SET</a>
608e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsinstead.
618e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
628e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<dt><a href="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE_AVG">OV_ECTL_RATEMANAGE_AVG</a>:<dd> Use <a
638e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelshref="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE2_SET">OV_ECTL_RATEMANAGE2_SET</a>
648e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsinstead.
658e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
668e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<dt><a href="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE_HARD">OV_ECTL_RATEMANAGE_HARD</a>:<dd> Use <a
678e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelshref="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE2_SET">OV_ECTL_RATEMANAGE2_SET</a>
688e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsinstead.
698e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels</dl>
708e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
718e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<h3>Newly added in 1.1</h3>
728e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
738e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas EckelsThe following calls are added in 1.1 to semantically reflect movement
748e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsto a <a href="overview.html#BBR">bit-reservoir-based bitrate
758e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsmanagement</a> scheme by introducing the <a
768e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelshref="ovectl_ratemanage2_arg.html">ovectl_ratemanage2_arg</a>
778e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsstructure in order to better represent the abilities of the bitrate
788e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckelsmanager.<p>
798e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
808e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<dl>
818e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<dt><a href="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE2_GET">OV_ECTL_RATEMANAGE2_GET</a><dd>
828e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
838e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas EckelsUsed to query the current state of bitrate management setup.
848e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
858e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<dt><a href="vorbis_encode_ctl.html#OV_ECTL_RATEMANAGE2_SET">OV_ECTL_RATEMANAGE2_SET</a><dd>
868e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
878e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas EckelsUsed to set or alter bitrate management settings.
888e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels</dl>
898e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
908e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<br><br>
918e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<hr noshade>
928e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<table border=0 width=100%>
938e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<tr valign=top>
948e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<td><p class=tiny>copyright &copy; 2000-2004 vorbis team</p></td>
958e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
968e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels</tr><tr>
978e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<td><p class=tiny>libvorbisenc documentation</p></td>
988e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels<td align=right><p class=tiny>libvorbisenc release 1.1 - 20040709</p></td>
998e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels</tr>
1008e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels</table>
1018e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1028e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels</body>
1038e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels
1048e01cdce135d5d816f92d7bb83f9a930aa1b45aeLucas Eckels</html>
105