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 © 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