annotate src/libvorbis-1.3.3/doc/vorbisenc/vorbis_encode_ctl.html @ 83:ae30d91d2ffe

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