Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line | 
|---|---|---|---|
| 1 | pmbaty | 1 | /******************************************************************** | 
| 2 |  *                                                                  * | ||
| 3 |  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   * | ||
| 4 |  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     * | ||
| 5 |  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * | ||
| 6 |  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       * | ||
| 7 |  *                                                                  * | ||
| 8 |  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             * | ||
| 9 |  * by the Xiph.Org Foundation http://www.xiph.org/                  * | ||
| 10 |  *                                                                  * | ||
| 11 |  ******************************************************************** | ||
| 12 | |||
| 13 |  function: vorbis encode-engine setup | ||
| 14 |  last mod: $Id: vorbisenc.h 17021 2010-03-24 09:29:41Z xiphmont $ | ||
| 15 | |||
| 16 |  ********************************************************************/ | ||
| 17 | |||
| 18 | /** \file | ||
| 19 |  * Libvorbisenc is a convenient API for setting up an encoding | ||
| 20 |  * environment using libvorbis. Libvorbisenc encapsulates the | ||
| 21 |  * actions needed to set up the encoder properly. | ||
| 22 |  */ | ||
| 23 | |||
| 24 | #ifndef _OV_ENC_H_ | ||
| 25 | #define _OV_ENC_H_ | ||
| 26 | |||
| 27 | #ifdef __cplusplus | ||
| 28 | extern "C" | ||
| 29 | { | ||
| 30 | #endif /* __cplusplus */ | ||
| 31 | |||
| 32 | #include "codec.h" | ||
| 33 | |||
| 34 | /** | ||
| 35 |  * This is the primary function within libvorbisenc for setting up managed | ||
| 36 |  * bitrate modes. | ||
| 37 |  * | ||
| 38 |  * Before this function is called, the \ref vorbis_info | ||
| 39 |  * struct should be initialized by using vorbis_info_init() from the libvorbis | ||
| 40 |  * API.  After encoding, vorbis_info_clear() should be called. | ||
| 41 |  * | ||
| 42 |  * The max_bitrate, nominal_bitrate, and min_bitrate settings are used to set | ||
| 43 |  * constraints for the encoded file.  This function uses these settings to | ||
| 44 |  * select the appropriate encoding mode and set it up. | ||
| 45 |  * | ||
| 46 |  * \param vi               Pointer to an initialized \ref vorbis_info struct. | ||
| 47 |  * \param channels         The number of channels to be encoded. | ||
| 48 |  * \param rate             The sampling rate of the source audio. | ||
| 49 |  * \param max_bitrate      Desired maximum bitrate (limit). -1 indicates unset. | ||
| 50 |  * \param nominal_bitrate  Desired average, or central, bitrate. -1 indicates unset. | ||
| 51 |  * \param min_bitrate      Desired minimum bitrate. -1 indicates unset. | ||
| 52 |  * | ||
| 53 |  * \return Zero for success, and negative values for failure. | ||
| 54 |  * | ||
| 55 |  * \retval 0          Success. | ||
| 56 |  * \retval OV_EFAULT  Internal logic fault; indicates a bug or heap/stack corruption. | ||
| 57 |  * \retval OV_EINVAL  Invalid setup request, eg, out of range argument. | ||
| 58 |  * \retval OV_EIMPL   Unimplemented mode; unable to comply with bitrate request. | ||
| 59 |  */ | ||
| 60 | extern int vorbis_encode_init(vorbis_info *vi, | ||
| 61 |                               long channels, | ||
| 62 |                               long rate, | ||
| 63 | |||
| 64 |                               long max_bitrate, | ||
| 65 |                               long nominal_bitrate, | ||
| 66 | long min_bitrate); | ||
| 67 | |||
| 68 | /** | ||
| 69 |  * This function performs step-one of a three-step bitrate-managed encode | ||
| 70 |  * setup.  It functions similarly to the one-step setup performed by \ref | ||
| 71 |  * vorbis_encode_init but allows an application to make further encode setup | ||
| 72 |  * tweaks using \ref vorbis_encode_ctl before finally calling \ref | ||
| 73 |  * vorbis_encode_setup_init to complete the setup process. | ||
| 74 |  * | ||
| 75 |  * Before this function is called, the \ref vorbis_info struct should be | ||
| 76 |  * initialized by using vorbis_info_init() from the libvorbis API.  After | ||
| 77 |  * encoding, vorbis_info_clear() should be called. | ||
| 78 |  * | ||
| 79 |  * The max_bitrate, nominal_bitrate, and min_bitrate settings are used to set | ||
| 80 |  * constraints for the encoded file.  This function uses these settings to | ||
| 81 |  * select the appropriate encoding mode and set it up. | ||
| 82 |  * | ||
| 83 |  * \param vi                Pointer to an initialized vorbis_info struct. | ||
| 84 |  * \param channels          The number of channels to be encoded. | ||
| 85 |  * \param rate              The sampling rate of the source audio. | ||
| 86 |  * \param max_bitrate       Desired maximum bitrate (limit). -1 indicates unset. | ||
| 87 |  * \param nominal_bitrate   Desired average, or central, bitrate. -1 indicates unset. | ||
| 88 |  * \param min_bitrate       Desired minimum bitrate. -1 indicates unset. | ||
| 89 |  * | ||
| 90 |  * \return Zero for success, and negative for failure. | ||
| 91 |  * | ||
| 92 |  * \retval 0           Success | ||
| 93 |  * \retval OV_EFAULT   Internal logic fault; indicates a bug or heap/stack corruption. | ||
| 94 |  * \retval OV_EINVAL   Invalid setup request, eg, out of range argument. | ||
| 95 |  * \retval OV_EIMPL    Unimplemented mode; unable to comply with bitrate request. | ||
| 96 |  */ | ||
| 97 | extern int vorbis_encode_setup_managed(vorbis_info *vi, | ||
| 98 |                                        long channels, | ||
| 99 |                                        long rate, | ||
| 100 | |||
| 101 |                                        long max_bitrate, | ||
| 102 |                                        long nominal_bitrate, | ||
| 103 | long min_bitrate); | ||
| 104 | |||
| 105 | /** | ||
| 106 |  * This function performs step-one of a three-step variable bitrate | ||
| 107 |  * (quality-based) encode setup.  It functions similarly to the one-step setup | ||
| 108 |  * performed by \ref vorbis_encode_init_vbr() but allows an application to | ||
| 109 |  * make further encode setup tweaks using \ref vorbis_encode_ctl() before | ||
| 110 |  * finally calling \ref vorbis_encode_setup_init to complete the setup | ||
| 111 |  * process. | ||
| 112 |  * | ||
| 113 |  * Before this function is called, the \ref vorbis_info struct should be | ||
| 114 |  * initialized by using \ref vorbis_info_init() from the libvorbis API.  After | ||
| 115 |  * encoding, vorbis_info_clear() should be called. | ||
| 116 |  * | ||
| 117 |  * \param vi        Pointer to an initialized vorbis_info struct. | ||
| 118 |  * \param channels  The number of channels to be encoded. | ||
| 119 |  * \param rate      The sampling rate of the source audio. | ||
| 120 |  * \param quality   Desired quality level, currently from -0.1 to 1.0 (lo to hi). | ||
| 121 |  * | ||
| 122 |  * \return Zero for success, and negative values for failure. | ||
| 123 |  * | ||
| 124 |  * \retval  0          Success | ||
| 125 |  * \retval  OV_EFAULT  Internal logic fault; indicates a bug or heap/stack corruption. | ||
| 126 |  * \retval  OV_EINVAL  Invalid setup request, eg, out of range argument. | ||
| 127 |  * \retval  OV_EIMPL   Unimplemented mode; unable to comply with quality level request. | ||
| 128 |  */ | ||
| 129 | extern int vorbis_encode_setup_vbr(vorbis_info *vi, | ||
| 130 |                                   long channels, | ||
| 131 |                                   long rate, | ||
| 132 | |||
| 133 |                                   float quality | ||
| 134 | ); | ||
| 135 | |||
| 136 | /** | ||
| 137 |  * This is the primary function within libvorbisenc for setting up variable | ||
| 138 |  * bitrate ("quality" based) modes. | ||
| 139 |  * | ||
| 140 |  * | ||
| 141 |  * Before this function is called, the vorbis_info struct should be | ||
| 142 |  * initialized by using vorbis_info_init() from the libvorbis API. After | ||
| 143 |  * encoding, vorbis_info_clear() should be called. | ||
| 144 |  * | ||
| 145 |  * \param vi           Pointer to an initialized vorbis_info struct. | ||
| 146 |  * \param channels     The number of channels to be encoded. | ||
| 147 |  * \param rate         The sampling rate of the source audio. | ||
| 148 |  * \param base_quality Desired quality level, currently from -0.1 to 1.0 (lo to hi). | ||
| 149 |  * | ||
| 150 |  * | ||
| 151 |  * \return Zero for success, or a negative number for failure. | ||
| 152 |  * | ||
| 153 |  * \retval 0           Success | ||
| 154 |  * \retval OV_EFAULT   Internal logic fault; indicates a bug or heap/stack corruption. | ||
| 155 |  * \retval OV_EINVAL   Invalid setup request, eg, out of range argument. | ||
| 156 |  * \retval OV_EIMPL    Unimplemented mode; unable to comply with quality level request. | ||
| 157 |  */ | ||
| 158 | extern int vorbis_encode_init_vbr(vorbis_info *vi, | ||
| 159 |                                   long channels, | ||
| 160 |                                   long rate, | ||
| 161 | |||
| 162 |                                   float base_quality | ||
| 163 | ); | ||
| 164 | |||
| 165 | /** | ||
| 166 |  * This function performs the last stage of three-step encoding setup, as | ||
| 167 |  * described in the API overview under managed bitrate modes. | ||
| 168 |  * | ||
| 169 |  * Before this function is called, the \ref vorbis_info struct should be | ||
| 170 |  * initialized by using vorbis_info_init() from the libvorbis API, one of | ||
| 171 |  * \ref vorbis_encode_setup_managed() or \ref vorbis_encode_setup_vbr() called to | ||
| 172 |  * initialize the high-level encoding setup, and \ref vorbis_encode_ctl() | ||
| 173 |  * called if necessary to make encoding setup changes. | ||
| 174 |  * vorbis_encode_setup_init() finalizes the highlevel encoding structure into | ||
| 175 |  * a complete encoding setup after which the application may make no further | ||
| 176 |  * setup changes. | ||
| 177 |  * | ||
| 178 |  * After encoding, vorbis_info_clear() should be called. | ||
| 179 |  * | ||
| 180 |  * \param vi Pointer to an initialized \ref vorbis_info struct. | ||
| 181 |  * | ||
| 182 |  * \return Zero for success, and negative values for failure. | ||
| 183 |  * | ||
| 184 |  * \retval  0           Success. | ||
| 185 |  * \retval  OV_EFAULT  Internal logic fault; indicates a bug or heap/stack corruption. | ||
| 186 |  * | ||
| 187 |  * \retval OV_EINVAL   Attempt to use vorbis_encode_setup_init() without first | ||
| 188 |  * calling one of vorbis_encode_setup_managed() or vorbis_encode_setup_vbr() to | ||
| 189 |  * initialize the high-level encoding setup | ||
| 190 |  * | ||
| 191 |  */ | ||
| 192 | extern int vorbis_encode_setup_init(vorbis_info *vi); | ||
| 193 | |||
| 194 | /** | ||
| 195 |  * This function implements a generic interface to miscellaneous encoder | ||
| 196 |  * settings similar to the classic UNIX 'ioctl()' system call.  Applications | ||
| 197 |  * may use vorbis_encode_ctl() to query or set bitrate management or quality | ||
| 198 |  * mode details by using one of several \e request arguments detailed below. | ||
| 199 |  * vorbis_encode_ctl() must be called after one of | ||
| 200 |  * vorbis_encode_setup_managed() or vorbis_encode_setup_vbr().  When used | ||
| 201 |  * to modify settings, \ref vorbis_encode_ctl() must be called before \ref | ||
| 202 |  * vorbis_encode_setup_init(). | ||
| 203 |  * | ||
| 204 |  * \param vi      Pointer to an initialized vorbis_info struct. | ||
| 205 |  * | ||
| 206 |  * \param number Specifies the desired action; See \ref encctlcodes "the list | ||
| 207 |  * of available requests". | ||
| 208 |  * | ||
| 209 |  * \param arg void * pointing to a data structure matching the request | ||
| 210 |  * argument. | ||
| 211 |  * | ||
| 212 |  * \retval 0          Success. Any further return information (such as the result of a | ||
| 213 |  * query) is placed into the storage pointed to by *arg. | ||
| 214 |  * | ||
| 215 |  * \retval OV_EINVAL  Invalid argument, or an attempt to modify a setting after | ||
| 216 |  * calling vorbis_encode_setup_init(). | ||
| 217 |  * | ||
| 218 |  * \retval OV_EIMPL   Unimplemented or unknown request | ||
| 219 |  */ | ||
| 220 | extern int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg); | ||
| 221 | |||
| 222 | /** | ||
| 223 |  * \deprecated This is a deprecated interface. Please use vorbis_encode_ctl() | ||
| 224 |  * with the \ref ovectl_ratemanage2_arg struct and \ref | ||
| 225 |  * OV_ECTL_RATEMANAGE2_GET and \ref OV_ECTL_RATEMANAGE2_SET calls in new code. | ||
| 226 |  * | ||
| 227 |  * The \ref ovectl_ratemanage_arg structure is used with vorbis_encode_ctl() | ||
| 228 |  * and the \ref OV_ECTL_RATEMANAGE_GET, \ref OV_ECTL_RATEMANAGE_SET, \ref | ||
| 229 |  * OV_ECTL_RATEMANAGE_AVG, \ref OV_ECTL_RATEMANAGE_HARD calls in order to | ||
| 230 |  * query and modify specifics of the encoder's bitrate management | ||
| 231 |  * configuration. | ||
| 232 | */ | ||
| 233 | struct ovectl_ratemanage_arg { | ||
| 234 | int management_active; /**< nonzero if bitrate management is active*/ | ||
| 235 | /** hard lower limit (in kilobits per second) below which the stream bitrate | ||
| 236 |     will never be allowed for any given bitrate_hard_window seconds of time.*/ | ||
| 237 | long bitrate_hard_min; | ||
| 238 | /** hard upper limit (in kilobits per second) above which the stream bitrate | ||
| 239 |     will never be allowed for any given bitrate_hard_window seconds of time.*/ | ||
| 240 | long bitrate_hard_max; | ||
| 241 | /** the window period (in seconds) used to regulate the hard bitrate minimum | ||
| 242 |     and maximum*/ | ||
| 243 | double bitrate_hard_window; | ||
| 244 | /** soft lower limit (in kilobits per second) below which the average bitrate | ||
| 245 |     tracker will start nudging the bitrate higher.*/ | ||
| 246 | long bitrate_av_lo; | ||
| 247 | /** soft upper limit (in kilobits per second) above which the average bitrate | ||
| 248 |     tracker will start nudging the bitrate lower.*/ | ||
| 249 | long bitrate_av_hi; | ||
| 250 | /** the window period (in seconds) used to regulate the average bitrate | ||
| 251 |     minimum and maximum.*/ | ||
| 252 | double bitrate_av_window; | ||
| 253 | /** Regulates the relative centering of the average and hard windows; in | ||
| 254 |     libvorbis 1.0 and 1.0.1, the hard window regulation overlapped but | ||
| 255 |     followed the average window regulation. In libvorbis 1.1 a bit-reservoir | ||
| 256 |     interface replaces the old windowing interface; the older windowing | ||
| 257 |     interface is simulated and this field has no effect.*/ | ||
| 258 | double bitrate_av_window_center; | ||
| 259 | }; | ||
| 260 | |||
| 261 | /** | ||
| 262 |  * \name struct ovectl_ratemanage2_arg | ||
| 263 |  * | ||
| 264 |  * The ovectl_ratemanage2_arg structure is used with vorbis_encode_ctl() and | ||
| 265 |  * the OV_ECTL_RATEMANAGE2_GET and OV_ECTL_RATEMANAGE2_SET calls in order to | ||
| 266 |  * query and modify specifics of the encoder's bitrate management | ||
| 267 |  * configuration. | ||
| 268 |  * | ||
| 269 | */ | ||
| 270 | struct ovectl_ratemanage2_arg { | ||
| 271 | int management_active; /**< nonzero if bitrate management is active */ | ||
| 272 | /** Lower allowed bitrate limit in kilobits per second */ | ||
| 273 | long bitrate_limit_min_kbps; | ||
| 274 | /** Upper allowed bitrate limit in kilobits per second */ | ||
| 275 | long bitrate_limit_max_kbps; | ||
| 276 | long bitrate_limit_reservoir_bits; /**<Size of the bitrate reservoir in bits */ | ||
| 277 | /** Regulates the bitrate reservoir's preferred fill level in a range from 0.0 | ||
| 278 |  * to 1.0; 0.0 tries to bank bits to buffer against future bitrate spikes, 1.0 | ||
| 279 |  * buffers against future sudden drops in instantaneous bitrate. Default is | ||
| 280 |  * 0.1 | ||
| 281 |  */ | ||
| 282 | double bitrate_limit_reservoir_bias; | ||
| 283 | /** Average bitrate setting in kilobits per second */ | ||
| 284 | long bitrate_average_kbps; | ||
| 285 | /** Slew rate limit setting for average bitrate adjustment; sets the minimum | ||
| 286 |  *  time in seconds the bitrate tracker may swing from one extreme to the | ||
| 287 |  *  other when boosting or damping average bitrate. | ||
| 288 |  */ | ||
| 289 | double bitrate_average_damping; | ||
| 290 | }; | ||
| 291 | |||
| 292 | |||
| 293 | /** | ||
| 294 |  * \name vorbis_encode_ctl() codes | ||
| 295 |  * | ||
| 296 |  * \anchor encctlcodes | ||
| 297 |  * | ||
| 298 |  * These values are passed as the \c number parameter of vorbis_encode_ctl(). | ||
| 299 |  * The type of the referent of that function's \c arg pointer depends on these | ||
| 300 |  * codes. | ||
| 301 |  */ | ||
| 302 | /*@{*/ | ||
| 303 | |||
| 304 | /** | ||
| 305 |  * Query the current encoder bitrate management setting. | ||
| 306 |  * | ||
| 307 |  *Argument: <tt>struct ovectl_ratemanage2_arg *</tt> | ||
| 308 |  * | ||
| 309 |  * Used to query the current encoder bitrate management setting. Also used to | ||
| 310 |  * initialize fields of an ovectl_ratemanage2_arg structure for use with | ||
| 311 |  * \ref OV_ECTL_RATEMANAGE2_SET. | ||
| 312 |  */ | ||
| 313 | #define OV_ECTL_RATEMANAGE2_GET      0x14 | ||
| 314 | |||
| 315 | /** | ||
| 316 |  * Set the current encoder bitrate management settings. | ||
| 317 |  * | ||
| 318 |  * Argument: <tt>struct ovectl_ratemanage2_arg *</tt> | ||
| 319 |  * | ||
| 320 |  * Used to set the current encoder bitrate management settings to the values | ||
| 321 |  * listed in the ovectl_ratemanage2_arg. Passing a NULL pointer will disable | ||
| 322 |  * bitrate management. | ||
| 323 | */ | ||
| 324 | #define OV_ECTL_RATEMANAGE2_SET      0x15 | ||
| 325 | |||
| 326 | /** | ||
| 327 |  * Returns the current encoder hard-lowpass setting (kHz) in the double | ||
| 328 |  * pointed to by arg. | ||
| 329 |  * | ||
| 330 |  * Argument: <tt>double *</tt> | ||
| 331 | */ | ||
| 332 | #define OV_ECTL_LOWPASS_GET          0x20 | ||
| 333 | |||
| 334 | /** | ||
| 335 |  *  Sets the encoder hard-lowpass to the value (kHz) pointed to by arg. Valid | ||
| 336 |  *  lowpass settings range from 2 to 99. | ||
| 337 |  * | ||
| 338 |  * Argument: <tt>double *</tt> | ||
| 339 | */ | ||
| 340 | #define OV_ECTL_LOWPASS_SET          0x21 | ||
| 341 | |||
| 342 | /** | ||
| 343 |  *  Returns the current encoder impulse block setting in the double pointed | ||
| 344 |  *  to by arg. | ||
| 345 |  * | ||
| 346 |  * Argument: <tt>double *</tt> | ||
| 347 | */ | ||
| 348 | #define OV_ECTL_IBLOCK_GET           0x30 | ||
| 349 | |||
| 350 | /** | ||
| 351 |  *  Sets the impulse block bias to the the value pointed to by arg. | ||
| 352 |  * | ||
| 353 |  * Argument: <tt>double *</tt> | ||
| 354 |  * | ||
| 355 |  *  Valid range is -15.0 to 0.0 [default]. A negative impulse block bias will | ||
| 356 |  *  direct to encoder to use more bits when incoding short blocks that contain | ||
| 357 |  *  strong impulses, thus improving the accuracy of impulse encoding. | ||
| 358 |  */ | ||
| 359 | #define OV_ECTL_IBLOCK_SET           0x31 | ||
| 360 | |||
| 361 | /** | ||
| 362 |  *  Returns the current encoder coupling setting in the int pointed | ||
| 363 |  *  to by arg. | ||
| 364 |  * | ||
| 365 |  * Argument: <tt>int *</tt> | ||
| 366 | */ | ||
| 367 | #define OV_ECTL_COUPLING_GET         0x40 | ||
| 368 | |||
| 369 | /** | ||
| 370 |  *  Enables/disables channel coupling in multichannel encoding according to arg. | ||
| 371 |  * | ||
| 372 |  * Argument: <tt>int *</tt> | ||
| 373 |  * | ||
| 374 |  *  Zero disables channel coupling for multichannel inputs, nonzer enables | ||
| 375 |  *  channel coupling.  Setting has no effect on monophonic encoding or | ||
| 376 |  *  multichannel counts that do not offer coupling.  At present, coupling is | ||
| 377 |  *  available for stereo and 5.1 encoding. | ||
| 378 |  */ | ||
| 379 | #define OV_ECTL_COUPLING_SET         0x41 | ||
| 380 | |||
| 381 |   /* deprecated rate management supported only for compatibility */ | ||
| 382 | |||
| 383 | /** | ||
| 384 |  * Old interface to querying bitrate management settings. | ||
| 385 |  * | ||
| 386 |  * Deprecated after move to bit-reservoir style management in 1.1 rendered | ||
| 387 |  * this interface partially obsolete. | ||
| 388 | |||
| 389 |  * \deprecated Please use \ref OV_ECTL_RATEMANAGE2_GET instead. | ||
| 390 |  * | ||
| 391 |  * Argument: <tt>struct ovectl_ratemanage_arg *</tt> | ||
| 392 |  */ | ||
| 393 | #define OV_ECTL_RATEMANAGE_GET       0x10 | ||
| 394 | /** | ||
| 395 |  * Old interface to modifying bitrate management settings. | ||
| 396 |  * | ||
| 397 |  *  deprecated after move to bit-reservoir style management in 1.1 rendered | ||
| 398 |  *  this interface partially obsolete. | ||
| 399 |  * | ||
| 400 |  * \deprecated Please use \ref OV_ECTL_RATEMANAGE2_SET instead. | ||
| 401 |  * | ||
| 402 |  * Argument: <tt>struct ovectl_ratemanage_arg *</tt> | ||
| 403 |  */ | ||
| 404 | #define OV_ECTL_RATEMANAGE_SET       0x11 | ||
| 405 | /** | ||
| 406 |  * Old interface to setting average-bitrate encoding mode. | ||
| 407 |  * | ||
| 408 |  * Deprecated after move to bit-reservoir style management in 1.1 rendered | ||
| 409 |  * this interface partially obsolete. | ||
| 410 |  * | ||
| 411 |  *  \deprecated Please use \ref OV_ECTL_RATEMANAGE2_SET instead. | ||
| 412 |  * | ||
| 413 |  * Argument: <tt>struct ovectl_ratemanage_arg *</tt> | ||
| 414 |  */ | ||
| 415 | #define OV_ECTL_RATEMANAGE_AVG       0x12 | ||
| 416 | /** | ||
| 417 |  * Old interface to setting bounded-bitrate encoding modes. | ||
| 418 |  * | ||
| 419 |  * deprecated after move to bit-reservoir style management in 1.1 rendered | ||
| 420 |  * this interface partially obsolete. | ||
| 421 |  * | ||
| 422 |  *  \deprecated Please use \ref OV_ECTL_RATEMANAGE2_SET instead. | ||
| 423 |  * | ||
| 424 |  * Argument: <tt>struct ovectl_ratemanage_arg *</tt> | ||
| 425 |  */ | ||
| 426 | #define OV_ECTL_RATEMANAGE_HARD      0x13 | ||
| 427 | |||
| 428 | /*@}*/ | ||
| 429 | |||
| 430 | |||
| 431 | |||
| 432 | #ifdef __cplusplus | ||
| 433 | } | ||
| 434 | #endif /* __cplusplus */ | ||
| 435 | |||
| 436 | #endif |