libvorbis 1.3.7
vorbisenc.h
Go to the documentation of this file.
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 https://xiph.org/ *
10 * *
11 ********************************************************************
12
13 function: vorbis encode-engine setup
14
15 ********************************************************************/
16
23#ifndef _OV_ENC_H_
24#define _OV_ENC_H_
25
26#ifdef __cplusplus
27extern "C"
28{
29#endif /* __cplusplus */
30
31#include "codec.h"
32
60 long channels,
61 long rate,
62
63 long max_bitrate,
64 long nominal_bitrate,
65 long min_bitrate);
66
97 long channels,
98 long rate,
99
100 long max_bitrate,
101 long nominal_bitrate,
102 long min_bitrate);
103
129 long channels,
130 long rate,
131
132 float quality
133 );
134
158 long channels,
159 long rate,
160
161 float base_quality
162 );
163
192
219extern int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg);
220
258};
259
289};
290
291
302
312#define OV_ECTL_RATEMANAGE2_GET 0x14
313
323#define OV_ECTL_RATEMANAGE2_SET 0x15
324
331#define OV_ECTL_LOWPASS_GET 0x20
332
339#define OV_ECTL_LOWPASS_SET 0x21
340
347#define OV_ECTL_IBLOCK_GET 0x30
348
358#define OV_ECTL_IBLOCK_SET 0x31
359
366#define OV_ECTL_COUPLING_GET 0x40
367
378#define OV_ECTL_COUPLING_SET 0x41
379
380 /* deprecated rate management supported only for compatibility */
381
392#define OV_ECTL_RATEMANAGE_GET 0x10
403#define OV_ECTL_RATEMANAGE_SET 0x11
414#define OV_ECTL_RATEMANAGE_AVG 0x12
425#define OV_ECTL_RATEMANAGE_HARD 0x13
426
431#ifdef __cplusplus
432}
433#endif /* __cplusplus */
434
435#endif
Definition: vorbisenc.h:269
double bitrate_average_damping
Slew rate limit setting for average bitrate adjustment; sets the minimum time in seconds the bitrate ...
Definition: vorbisenc.h:288
long bitrate_limit_max_kbps
Upper allowed bitrate limit in kilobits per second.
Definition: vorbisenc.h:274
long bitrate_average_kbps
Average bitrate setting in kilobits per second.
Definition: vorbisenc.h:283
double bitrate_limit_reservoir_bias
Regulates the bitrate reservoir's preferred fill level in a range from 0.0 to 1.0; 0....
Definition: vorbisenc.h:281
long bitrate_limit_reservoir_bits
Size of the bitrate reservoir in bits.
Definition: vorbisenc.h:275
int management_active
nonzero if bitrate management is active
Definition: vorbisenc.h:270
long bitrate_limit_min_kbps
Lower allowed bitrate limit in kilobits per second.
Definition: vorbisenc.h:272
Definition: vorbisenc.h:232
double bitrate_av_window
the window period (in seconds) used to regulate the average bitrate minimum and maximum.
Definition: vorbisenc.h:251
long bitrate_hard_max
hard upper limit (in kilobits per second) above which the stream bitrate will never be allowed for an...
Definition: vorbisenc.h:239
long bitrate_hard_min
hard lower limit (in kilobits per second) below which the stream bitrate will never be allowed for an...
Definition: vorbisenc.h:236
double bitrate_hard_window
the window period (in seconds) used to regulate the hard bitrate minimum and maximum
Definition: vorbisenc.h:242
double bitrate_av_window_center
Regulates the relative centering of the average and hard windows; in libvorbis 1.0 and 1....
Definition: vorbisenc.h:257
long bitrate_av_hi
soft upper limit (in kilobits per second) above which the average bitrate tracker will start nudging ...
Definition: vorbisenc.h:248
long bitrate_av_lo
soft lower limit (in kilobits per second) below which the average bitrate tracker will start nudging ...
Definition: vorbisenc.h:245
int management_active
nonzero if bitrate management is active
Definition: vorbisenc.h:233
Definition: codec.h:27
int vorbis_encode_setup_vbr(vorbis_info *vi, long channels, long rate, float quality)
This function performs step-one of a three-step variable bitrate (quality-based) encode setup.
int vorbis_encode_ctl(vorbis_info *vi, int number, void *arg)
This function implements a generic interface to miscellaneous encoder settings similar to the classic...
int vorbis_encode_init(vorbis_info *vi, long channels, long rate, long max_bitrate, long nominal_bitrate, long min_bitrate)
This is the primary function within libvorbisenc for setting up managed bitrate modes.
int vorbis_encode_init_vbr(vorbis_info *vi, long channels, long rate, float base_quality)
This is the primary function within libvorbisenc for setting up variable bitrate ("quality" based) mo...
int vorbis_encode_setup_init(vorbis_info *vi)
This function performs the last stage of three-step encoding setup, as described in the API overview ...
int vorbis_encode_setup_managed(vorbis_info *vi, long channels, long rate, long max_bitrate, long nominal_bitrate, long min_bitrate)
This function performs step-one of a three-step bitrate-managed encode setup.