1 /********************************************************************
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. *
8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
9 * by the Xiph.Org Foundation http://www.xiph.org/ *
11 ********************************************************************
13 function: vorbis encode-engine setup
16 ********************************************************************/
24 #endif /* __cplusplus */
28 extern int vorbis_encode_init(vorbis_info *vi,
36 extern int vorbis_encode_setup_managed(vorbis_info *vi,
44 extern int vorbis_encode_setup_vbr(vorbis_info *vi,
48 float quality /* quality level from 0. (lo) to 1. (hi) */
51 extern int vorbis_encode_init_vbr(vorbis_info *vi,
55 float base_quality /* quality level from 0. (lo) to 1. (hi) */
58 extern int vorbis_encode_setup_init(vorbis_info *vi);
60 extern int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg);
62 struct ovectl_ratemanage_arg {
63 int management_active;
65 long bitrate_hard_min;
66 long bitrate_hard_max;
67 double bitrate_hard_window;
71 double bitrate_av_window;
72 double bitrate_av_window_center;
75 struct ovectl_ratemanage2_arg {
76 int management_active;
78 long bitrate_limit_min_kbps;
79 long bitrate_limit_max_kbps;
80 long bitrate_limit_reservoir_bits;
81 double bitrate_limit_reservoir_bias;
83 long bitrate_average_kbps;
84 double bitrate_average_damping;
89 #define OV_ECTL_RATEMANAGE2_GET 0x14
90 #define OV_ECTL_RATEMANAGE2_SET 0x15
92 #define OV_ECTL_LOWPASS_GET 0x20
93 #define OV_ECTL_LOWPASS_SET 0x21
95 #define OV_ECTL_IBLOCK_GET 0x30
96 #define OV_ECTL_IBLOCK_SET 0x31
98 /* deprecated rate management supported only for compatability */
99 #define OV_ECTL_RATEMANAGE_GET 0x10
100 #define OV_ECTL_RATEMANAGE_SET 0x11
101 #define OV_ECTL_RATEMANAGE_AVG 0x12
102 #define OV_ECTL_RATEMANAGE_HARD 0x13
106 #endif /* __cplusplus */