annotate src/libvorbis-1.3.3/doc/vorbisenc/vorbis_encode_ctl.html @ 86:98c1576536ae

Bring in flac, ogg, vorbis
author Chris Cannam <cannam@all-day-breakfast.com>
date Tue, 19 Mar 2013 17:37:49 +0000
parents
children
rev   line source
cannam@86 1 <html>
cannam@86 2
cannam@86 3 <head>
cannam@86 4 <title>libvorbisenc - function - vorbis_encode_ctl</title>
cannam@86 5 <link rel=stylesheet href="style.css" type="text/css">
cannam@86 6 </head>
cannam@86 7
cannam@86 8 <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
cannam@86 9 <table border=0 width=100%>
cannam@86 10 <tr>
cannam@86 11 <td><p class=tiny>libvorbisenc documentation</p></td>
cannam@86 12 <td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
cannam@86 13 </tr>
cannam@86 14 </table>
cannam@86 15
cannam@86 16 <h1>vorbis_encode_ctl</h1>
cannam@86 17
cannam@86 18 <p><i>declared in "vorbis/vorbisenc.h";</i></p>
cannam@86 19
cannam@86 20 <p>This function implements a generic interface to miscellaneous
cannam@86 21 encoder settings similar to the clasasic UNIX 'ioctl()' system call.
cannam@86 22 Applications may use vorbis_encode_ctl() to query or set bitrate
cannam@86 23 management or quality mode details by using one of several
cannam@86 24 <i>request</i> arguments detailed below. Vorbis_encode_ctl() must be
cannam@86 25 called after one of <a
cannam@86 26 href="vorbis_encode_setup_managed.html">vorbis_encode_setup_managed()</a>
cannam@86 27 or <a
cannam@86 28 href="vorbis_encode_setup_vbr.html">vorbis_encode_setup_vbr()</a>.
cannam@86 29 When used to modify settings, vorbis_encode_ctl() must be called
cannam@86 30 before <a
cannam@86 31 href="vorbis_encode_setup_init.html">vorbis_encode_setup_init()</a>.
cannam@86 32
cannam@86 33 <p>
cannam@86 34 <br><br>
cannam@86 35 <table border=0 color=black cellspacing=0 cellpadding=7>
cannam@86 36 <tr bgcolor=#cccccc>
cannam@86 37 <td>
cannam@86 38 <pre><b>
cannam@86 39 extern int vorbis_encode_ctl(vorbis_info *vi,int request,void *arg);
cannam@86 40
cannam@86 41 </b></pre>
cannam@86 42 </td>
cannam@86 43 </tr>
cannam@86 44 </table>
cannam@86 45
cannam@86 46 <h3>Parameters</h3>
cannam@86 47 <dl>
cannam@86 48 <dt><i>vi</i></dt>
cannam@86 49 <dd>Pointer to an initialized <a href="../libvorbis/vorbis_info.html">vorbis_info</a> struct.</dd><p>
cannam@86 50 <dt><i>request</i></dt>
cannam@86 51 <dd>Specifies the desired action; possible request fields are detailed below.</dd><p>
cannam@86 52 <dt><i>arg</i></dt>
cannam@86 53 <dd>void * pointing to a data structure matching the request argument.</dd><p>
cannam@86 54 </dl><p>
cannam@86 55
cannam@86 56 <h3>Requests</h3>
cannam@86 57 <dl>
cannam@86 58
cannam@86 59 <dt><i>OV_ECTL_RATEMANAGE2_GET</i></dt>
cannam@86 60
cannam@86 61 <dd><b>Argument: <a href="ovectl_ratemanage2_arg.html">struct
cannam@86 62 ovectl_ratemanage2_arg *</a></b><br> Used to query the current
cannam@86 63 encoder bitrate management setting. Also used to initialize fields of
cannam@86 64 an ovectl_ratemanage2_arg structure for use with
cannam@86 65 OV_ECTL_RATEMANAGE2_SET.</dd><p>
cannam@86 66
cannam@86 67 <dt><i>OV_ECTL_RATEMANAGE2_SET</i></dt>
cannam@86 68 <dd><b>Argument: <a href="ovectl_ratemanage2_arg.html">struct
cannam@86 69 ovectl_ratemanage2_arg *</a></b><br> Used to set the current
cannam@86 70 encoder bitrate management settings to the values listed in the
cannam@86 71 ovectl_ratemanage2_arg. Passing a NULL pointer will disable bitrate
cannam@86 72 management.
cannam@86 73 </dd><p>
cannam@86 74
cannam@86 75 <dt><i>OV_ECTL_LOWPASS_GET</i></dt>
cannam@86 76 <dd><b>Argument: double *</b><br> Returns the current encoder hard-lowpass
cannam@86 77 setting (kHz) in the double pointed to by arg.
cannam@86 78 </dd><p>
cannam@86 79
cannam@86 80 <dt><i>OV_ECTL_LOWPASS_SET</i></dt>
cannam@86 81 <dd><b>Argument: double *</b><br> Sets the encoder hard-lowpass to the value
cannam@86 82 (kHz) pointed to by arg. Valid lowpass settings range from 2 to 99.
cannam@86 83 </dd><p>
cannam@86 84
cannam@86 85 <dt><i>OV_ECTL_IBLOCK_GET</i></dt>
cannam@86 86 <dd><b>Argument: double *</b><br> Returns the current encoder impulse
cannam@86 87 block setting in the double pointed to by arg.</dd><p>
cannam@86 88
cannam@86 89 <dt><i>OV_ECTL_IBLOCK_SET</i></dt> <dd><b>Argument: double *</b><br> Sets
cannam@86 90 the impulse block bias to the the value pointed to by arg; valid range
cannam@86 91 is -15.0 to 0.0 [default]. A negative impulse block bias will direct
cannam@86 92 to encoder to use more bits when incoding short blocks that contain
cannam@86 93 strong impulses, thus improving the accuracy of impulse encoding.</dd><p>
cannam@86 94
cannam@86 95 <dt><i>OV_ECTL_COUPLING_GET</i></dt>
cannam@86 96 <dd><b>Argument: int *</b><br>
cannam@86 97 Returns the current encoder coupling enabled/disabled
cannam@86 98 setting in the int pointed to by arg.
cannam@86 99 </dd><p>
cannam@86 100
cannam@86 101 <dt><i>OV_ECTL_COUPLING_SET</i></dt>
cannam@86 102 <dd><b>Argument: int *</b><br>
cannam@86 103 Enables/disables channel coupling in multichannel encoding according to arg.
cannam@86 104 *arg of zero disables all channel coupling, nonzero allows the encoder to use
cannam@86 105 coupling if a coupled mode is available for the input. At present, coupling
cannam@86 106 is available for stereo and 5.1 input modes.
cannam@86 107 </dd><p>
cannam@86 108
cannam@86 109 <dt><i>OV_ECTL_RATEMANAGE_GET [deprecated]</i></dt>
cannam@86 110 <dd>
cannam@86 111
cannam@86 112 <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
cannam@86 113 ovectl_ratemanage_arg *</a></b><br> Old interface to querying bitrate
cannam@86 114 management settings; deprecated after move to bit-reservoir style
cannam@86 115 management in 1.1 rendered this interface partially obsolete. Please
cannam@86 116 use OV_ECTL_RATEMANGE2_GET instead.
cannam@86 117
cannam@86 118 </dd><p>
cannam@86 119
cannam@86 120 <dt><i>OV_ECTL_RATEMANAGE_SET [deprecated]</i></dt>
cannam@86 121 <dd>
cannam@86 122 <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
cannam@86 123 ovectl_ratemanage_arg *</a></b><br> Old interface to modifying bitrate
cannam@86 124 management settings; deprecated after move to bit-reservoir style
cannam@86 125 management in 1.1 rendered this interface partially obsolete. Please
cannam@86 126 use OV_ECTL_RATEMANGE2_SET instead.
cannam@86 127 </dd><p>
cannam@86 128
cannam@86 129 <dt><i>OV_ECTL_RATEMANAGE_AVG [deprecated]</i></dt>
cannam@86 130 <dd>
cannam@86 131 <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
cannam@86 132 ovectl_ratemanage_arg *</a></b><br> Old interface to setting
cannam@86 133 average-bitrate encoding mode; deprecated after move to bit-reservoir
cannam@86 134 style management in 1.1 rendered this interface partially obsolete.
cannam@86 135 Please use OV_ECTL_RATEMANGE2_SET instead.
cannam@86 136 </dd><p>
cannam@86 137
cannam@86 138 <dt><i>OV_ECTL_RATEMANAGE_HARD [deprecated]</i></dt>
cannam@86 139 <dd>
cannam@86 140 <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
cannam@86 141 ovectl_ratemanage_arg *</a></b><br> Old interface to setting
cannam@86 142 bounded-bitrate encoding modes; deprecated after move to bit-reservoir
cannam@86 143 style management in 1.1 rendered this interface partially obsolete.
cannam@86 144 Please use OV_ECTL_RATEMANGE2_SET instead.
cannam@86 145 </dd><p>
cannam@86 146
cannam@86 147
cannam@86 148 </dl>
cannam@86 149
cannam@86 150
cannam@86 151 <h3>Return Values</h3> vorbis_encode_ctl() returns zero on success,
cannam@86 152 placing any further return information (such as the result of a query)
cannam@86 153 into the storage pointed to by <i>*arg</i>. On error,
cannam@86 154 vorbis_encode_ctl() may return one of the following error codes:
cannam@86 155
cannam@86 156 <dl>
cannam@86 157
cannam@86 158 <dt>OV_EINVAL</dt><dd>Invalid argument, or an attempt to modify a
cannam@86 159 setting after calling <a
cannam@86 160 href="vorbis_encode_setup_init.html">vorbis_encode_setup_init()</a>.</dd><p>
cannam@86 161
cannam@86 162 <dt>OV_EIMPL</dt><dd>Unimplemented or unknown request</dd><p>
cannam@86 163
cannam@86 164 </dl>
cannam@86 165
cannam@86 166 <p>
cannam@86 167
cannam@86 168 <br><br>
cannam@86 169 <hr noshade>
cannam@86 170 <table border=0 width=100%>
cannam@86 171 <tr valign=top>
cannam@86 172 <td><p class=tiny>copyright &copy; 2000-2010 Xiph.Org</p></td>
cannam@86 173 <td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
cannam@86 174 </tr><tr>
cannam@86 175 <td><p class=tiny>libvorbisenc documentation</p></td>
cannam@86 176 <td align=right><p class=tiny>libvorbisenc version 1.3.2 - 20101101</p></td>
cannam@86 177 </tr>
cannam@86 178 </table>
cannam@86 179
cannam@86 180
cannam@86 181 </body>
cannam@86 182
cannam@86 183 </html>