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