examples/sfexamples/oggvorbiscodec/src/libvorbis/doc/vorbisenc/vorbis_encode_ctl.html

00001 <html>
00002 
00003 <head>
00004 <title>libvorbisenc - function - vorbis_encode_ctl</title>
00005 <link rel=stylesheet href="style.css" type="text/css">
00006 </head>
00007 
00008 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
00009 <table border=0 width=100%>
00010 <tr>
00011 <td><p class=tiny>libvorbisenc documentation</p></td>
00012 <td align=right><p class=tiny>libvorbisenc release 1.1 - 20040709</p></td>
00013 </tr>
00014 </table>
00015 
00016 <h1>vorbis_encode_ctl</h1>
00017 
00018 <p><i>declared in "vorbis/libvorbisenc.h";</i></p>
00019 
00020 <p>This function implements a generic interface to miscellaneous
00021 encoder settings similar to the clasasic UNIX 'ioctl()' system call.
00022 Applications may use vorbis_encode_ctl() to query or set bitrate
00023 management or quality mode details by using one of several
00024 <i>request</i> arguments detailed below.  Vorbis_encode_ctl() must be
00025 called after one of <a
00026 href="vorbis_encode_setup_managed.html">vorbis_encode_setup_managed()</a>
00027 or <a
00028 href="vorbis_encode_setup_vbr.html">vorbis_encode_setup_vbr()</a>.
00029 When used to modify settings, vorbis_encode_ctl() must be called
00030 before <a
00031 href="vorbis_encode_setup_init.html">vorbis_encode_setup_init()</a>.
00032 
00033 <p>
00034 <br><br>
00035 <table border=0 color=black cellspacing=0 cellpadding=7>
00036 <tr bgcolor=#cccccc>
00037         <td>
00038 <pre><b>
00039 extern int vorbis_encode_ctl(vorbis_info *vi,int request,void *arg);
00040 
00041 </b></pre>
00042         </td>
00043 </tr>
00044 </table>
00045 
00046 <h3>Parameters</h3>
00047 <dl>
00048 <dt><i>vi</i></dt>
00049 <dd>File pointer to an initialized <a href="vorbis_info.html">vorbis_info</a> struct.</dd><p>
00050 <dt><i>request</i></dt>
00051 <dd>Specifies the desired action; possible request fields are detailed below.</dd><p>
00052 <dt><i>arg</i></dt>
00053 <dd>void * pointing to a data structure matching the request argument.</dd><p>
00054 </dl><p>
00055 
00056 <h3>Requests</h3>
00057 <dl>
00058 
00059 <dt><i>OV_ECTL_RATEMANAGE2_GET</i></dt>
00060 
00061 <dd><b>Argument: <a href="ovectl_ratemanage2_arg.html">struct
00062 ovectl_ratemanage2_arg *</a></b><br> Used to query the current
00063 encoder bitrate management setting.  Also used to initialize fields of
00064 an ovectl_ratemanage2_arg structure for use with
00065 OV_ECTL_RATEMANAGE2_SET.</dd><p>
00066 
00067 <dt><i>OV_ECTL_RATEMANAGE2_SET</i></dt>
00068 <dd><b>Argument: <a href="ovectl_ratemanage2_arg.html">struct
00069 ovectl_ratemanage2_arg *</a></b><br> Used to set the current
00070 encoder bitrate management settings to the values listed in the
00071 ovectl_ratemanage2_arg.  Passing a NULL pointer will disable bitrate
00072 management.
00073 </dd><p>
00074 
00075 <dt><i>OV_ECTL_LOWPASS_GET</i></dt>
00076 <dd><b>Argument: double *</b><br> Returns the current encoder hard-lowpass
00077 setting (kHz) in the double pointed to by arg.
00078 </dd><p>
00079 
00080 <dt><i>OV_ECTL_LOWPASS_SET</i></dt>
00081 <dd><b>Argument: double *</b><br> Sets the encoder hard-lowpass to the value
00082 (kHz) pointed to by arg. Valid lowpass settings range from 2 to 99.
00083 </dd><p>
00084 
00085 <dt><i>OV_ECTL_IBLOCK_GET</i></dt>
00086 <dd><b>Argument: double *</b><br> Returns the current encoder impulse
00087 block setting in the double pointed to by arg.</dd><p>
00088 
00089 <dt><i>OV_ECTL_IBLOCK_SET</i></dt> <dd><b>Argument: double *</b><br> Sets
00090 the impulse block bias to the the value pointed to by arg; valid range
00091 is -15.0 to 0.0 [default].  A negative impulse block bias will direct
00092 to encoder to use more bits when incoding short blocks that contain
00093 strong impulses, thus improving the accuracy of impulse encoding.</dd><p>
00094 
00095 <dt><i>OV_ECTL_RATEMANAGE_GET [deprecated]</i></dt>
00096 <dd>
00097 
00098 <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
00099 ovectl_ratemanage_arg *</a></b><br> Old interface to querying bitrate
00100 management settings; deprecated after move to bit-reservoir style
00101 management in 1.1 rendered this interface partially obsolete.  Please
00102 use OV_ECTL_RATEMANGE2_GET instead.
00103 
00104 </dd><p>
00105 
00106 <dt><i>OV_ECTL_RATEMANAGE_SET [deprecated]</i></dt>
00107 <dd>
00108 <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
00109 ovectl_ratemanage_arg *</a></b><br> Old interface to modifying bitrate
00110 management settings; deprecated after move to bit-reservoir style
00111 management in 1.1 rendered this interface partially obsolete.  Please
00112 use OV_ECTL_RATEMANGE2_SET instead.
00113 </dd><p>
00114 
00115 <dt><i>OV_ECTL_RATEMANAGE_AVG [deprecated]</i></dt>
00116 <dd>
00117 <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
00118 ovectl_ratemanage_arg *</a></b><br> Old interface to setting
00119 average-bitrate encoding mode; deprecated after move to bit-reservoir
00120 style management in 1.1 rendered this interface partially obsolete.
00121 Please use OV_ECTL_RATEMANGE2_SET instead.  
00122 </dd><p>
00123 
00124 <dt><i>OV_ECTL_RATEMANAGE_HARD [deprecated]</i></dt>
00125 <dd>
00126 <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
00127 ovectl_ratemanage_arg *</a></b><br> Old interface to setting
00128 bounded-bitrate encoding modes; deprecated after move to bit-reservoir
00129 style management in 1.1 rendered this interface partially obsolete.
00130 Please use OV_ECTL_RATEMANGE2_SET instead.  
00131 </dd><p>
00132 
00133 
00134 </dl>
00135 
00136 
00137 <h3>Return Values</h3> vorbis_encode_ctl() returns zero on success,
00138 placing any further return information (such as the result of a query)
00139 into the storage pointed to by <i>*arg</i>.  On error,
00140 vorbis_encode_ctl() may return one of the following error codes:
00141 
00142 <dl>
00143 
00144 <dt>OV_EINVAL</dt><dd>Invalid argument, or an attempt to modify a
00145 setting after calling <a
00146 href="vorbis_encode_setup_init.html">vorbis_encode_setup_init()</a>.</dd><p>
00147 
00148 <dt>OV_EIMPL</dt><dd>Unimplemented or unknown request</dd><p>
00149 
00150 </dl>
00151 
00152 <p>
00153 
00154 <br><br>
00155 <hr noshade>
00156 <table border=0 width=100%>
00157 <tr valign=top>
00158 <td><p class=tiny>copyright &copy; 2004 xiph.org</p></td>
00159 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a><br><a href="mailto:team@vorbis.org">team@vorbis.org</a></p></td>
00160 </tr><tr>
00161 <td><p class=tiny>libvorbisenc documentation</p></td>
00162 <td align=right><p class=tiny>libvorbisenc release 1.1 - 20040709</p></td>
00163 </tr>
00164 </table>
00165 
00166 
00167 </body>
00168 
00169 </html>

Generated by  doxygen 1.6.2