123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- <html>
- <head>
- <title>libvorbisenc - function - vorbis_encode_ctl</title>
- <link rel=stylesheet href="style.css" type="text/css">
- </head>
- <body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
- <table border=0 width=100%>
- <tr>
- <td><p class=tiny>libvorbisenc documentation</p></td>
- <td align=right><p class=tiny>libvorbisenc release 1.1 - 20040709</p></td>
- </tr>
- </table>
- <h1>vorbis_encode_ctl</h1>
- <p><i>declared in "vorbis/libvorbisenc.h";</i></p>
- <p>This function implements a generic interface to miscellaneous
- encoder settings similar to the clasasic UNIX 'ioctl()' system call.
- Applications may use vorbis_encode_ctl() to query or set bitrate
- management or quality mode details by using one of several
- <i>request</i> arguments detailed below. Vorbis_encode_ctl() must be
- called after one of <a
- href="vorbis_encode_setup_managed.html">vorbis_encode_setup_managed()</a>
- or <a
- href="vorbis_encode_setup_vbr.html">vorbis_encode_setup_vbr()</a>.
- When used to modify settings, vorbis_encode_ctl() must be called
- before <a
- href="vorbis_encode_setup_init.html">vorbis_encode_setup_init()</a>.
- <p>
- <br><br>
- <table border=0 color=black cellspacing=0 cellpadding=7>
- <tr bgcolor=#cccccc>
- <td>
- <pre><b>
- extern int vorbis_encode_ctl(vorbis_info *vi,int request,void *arg);
- </b></pre>
- </td>
- </tr>
- </table>
- <h3>Parameters</h3>
- <dl>
- <dt><i>vi</i></dt>
- <dd>File pointer to an initialized <a href="vorbis_info.html">vorbis_info</a> struct.</dd><p>
- <dt><i>request</i></dt>
- <dd>Specifies the desired action; possible request fields are detailed below.</dd><p>
- <dt><i>arg</i></dt>
- <dd>void * pointing to a data structure matching the request argument.</dd><p>
- </dl><p>
- <h3>Requests</h3>
- <dl>
- <dt><i>OV_ECTL_RATEMANAGE2_GET</i></dt>
- <dd><b>Argument: <a href="ovectl_ratemanage2_arg.html">struct
- ovectl_ratemanage2_arg *</a></b><br> Used to query the current
- encoder bitrate management setting. Also used to initialize fields of
- an ovectl_ratemanage2_arg structure for use with
- OV_ECTL_RATEMANAGE2_SET.</dd><p>
- <dt><i>OV_ECTL_RATEMANAGE2_SET</i></dt>
- <dd><b>Argument: <a href="ovectl_ratemanage2_arg.html">struct
- ovectl_ratemanage2_arg *</a></b><br> Used to set the current
- encoder bitrate management settings to the values listed in the
- ovectl_ratemanage2_arg. Passing a NULL pointer will disable bitrate
- management.
- </dd><p>
- <dt><i>OV_ECTL_LOWPASS_GET</i></dt>
- <dd><b>Argument: double *</b><br> Returns the current encoder hard-lowpass
- setting (kHz) in the double pointed to by arg.
- </dd><p>
- <dt><i>OV_ECTL_LOWPASS_SET</i></dt>
- <dd><b>Argument: double *</b><br> Sets the encoder hard-lowpass to the value
- (kHz) pointed to by arg. Valid lowpass settings range from 2 to 99.
- </dd><p>
- <dt><i>OV_ECTL_IBLOCK_GET</i></dt>
- <dd><b>Argument: double *</b><br> Returns the current encoder impulse
- block setting in the double pointed to by arg.</dd><p>
- <dt><i>OV_ECTL_IBLOCK_SET</i></dt> <dd><b>Argument: double *</b><br> Sets
- the impulse block bias to the the value pointed to by arg; valid range
- is -15.0 to 0.0 [default]. A negative impulse block bias will direct
- to encoder to use more bits when incoding short blocks that contain
- strong impulses, thus improving the accuracy of impulse encoding.</dd><p>
- <dt><i>OV_ECTL_RATEMANAGE_GET [deprecated]</i></dt>
- <dd>
- <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
- ovectl_ratemanage_arg *</a></b><br> Old interface to querying bitrate
- management settings; deprecated after move to bit-reservoir style
- management in 1.1 rendered this interface partially obsolete. Please
- use OV_ECTL_RATEMANGE2_GET instead.
- </dd><p>
- <dt><i>OV_ECTL_RATEMANAGE_SET [deprecated]</i></dt>
- <dd>
- <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
- ovectl_ratemanage_arg *</a></b><br> Old interface to modifying bitrate
- management settings; deprecated after move to bit-reservoir style
- management in 1.1 rendered this interface partially obsolete. Please
- use OV_ECTL_RATEMANGE2_SET instead.
- </dd><p>
- <dt><i>OV_ECTL_RATEMANAGE_AVG [deprecated]</i></dt>
- <dd>
- <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
- ovectl_ratemanage_arg *</a></b><br> Old interface to setting
- average-bitrate encoding mode; deprecated after move to bit-reservoir
- style management in 1.1 rendered this interface partially obsolete.
- Please use OV_ECTL_RATEMANGE2_SET instead.
- </dd><p>
- <dt><i>OV_ECTL_RATEMANAGE_HARD [deprecated]</i></dt>
- <dd>
- <b>Argument: <a href="ovectl_ratemanage_arg.html">struct
- ovectl_ratemanage_arg *</a></b><br> Old interface to setting
- bounded-bitrate encoding modes; deprecated after move to bit-reservoir
- style management in 1.1 rendered this interface partially obsolete.
- Please use OV_ECTL_RATEMANGE2_SET instead.
- </dd><p>
- </dl>
- <h3>Return Values</h3> vorbis_encode_ctl() returns zero on success,
- placing any further return information (such as the result of a query)
- into the storage pointed to by <i>*arg</i>. On error,
- vorbis_encode_ctl() may return one of the following error codes:
- <dl>
- <dt>OV_EINVAL</dt><dd>Invalid argument, or an attempt to modify a
- setting after calling <a
- href="vorbis_encode_setup_init.html">vorbis_encode_setup_init()</a>.</dd><p>
- <dt>OV_EIMPL</dt><dd>Unimplemented or unknown request</dd><p>
- </dl>
- <p>
- <br><br>
- <hr noshade>
- <table border=0 width=100%>
- <tr valign=top>
- <td><p class=tiny>copyright © 2004 xiph.org</p></td>
- <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>
- </tr><tr>
- <td><p class=tiny>libvorbisenc documentation</p></td>
- <td align=right><p class=tiny>libvorbisenc release 1.1 - 20040709</p></td>
- </tr>
- </table>
- </body>
- </html>
|