Make vorbis comment functions const correct.
[platform/upstream/libvorbis.git] / include / vorbis / vorbisenc.h
index ed2210a..5ebe9d9 100644 (file)
@@ -6,12 +6,12 @@
  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
  *                                                                  *
  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
- * by the XIPHOPHORUS Company http://www.xiph.org/                  *
+ * by the Xiph.Org Foundation http://www.xiph.org/                  *
  *                                                                  *
  ********************************************************************
 
  function: vorbis encode-engine setup
- last mod: $Id: vorbisenc.h,v 1.10 2002/07/01 11:20:10 xiphmont Exp $
+ last mod: $Id$
 
  ********************************************************************/
 
@@ -28,7 +28,7 @@ extern "C"
 extern int vorbis_encode_init(vorbis_info *vi,
                              long channels,
                              long rate,
-                             
+
                              long max_bitrate,
                              long nominal_bitrate,
                              long min_bitrate);
@@ -36,22 +36,22 @@ extern int vorbis_encode_init(vorbis_info *vi,
 extern int vorbis_encode_setup_managed(vorbis_info *vi,
                                       long channels,
                                       long rate,
-                                      
+
                                       long max_bitrate,
                                       long nominal_bitrate,
                                       long min_bitrate);
-  
+
 extern int vorbis_encode_setup_vbr(vorbis_info *vi,
                                  long channels,
                                  long rate,
-                                 
-                                 float /* quality level from 0. (lo) to 1. (hi) */
+
+                                 float quality /* quality level from 0. (lo) to 1. (hi) */
                                  );
 
 extern int vorbis_encode_init_vbr(vorbis_info *vi,
                                  long channels,
                                  long rate,
-                                 
+
                                  float base_quality /* quality level from 0. (lo) to 1. (hi) */
                                  );
 
@@ -59,18 +59,12 @@ extern int vorbis_encode_setup_init(vorbis_info *vi);
 
 extern int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg);
 
+  /* deprecated rate management supported only for compatability */
 #define OV_ECTL_RATEMANAGE_GET       0x10
-
 #define OV_ECTL_RATEMANAGE_SET       0x11
 #define OV_ECTL_RATEMANAGE_AVG       0x12
 #define OV_ECTL_RATEMANAGE_HARD      0x13
 
-#define OV_ECTL_LOWPASS_GET          0x20
-#define OV_ECTL_LOWPASS_SET          0x21
-
-#define OV_ECTL_IBLOCK_GET           0x30
-#define OV_ECTL_IBLOCK_SET           0x31
-
 struct ovectl_ratemanage_arg {
   int    management_active;
 
@@ -84,6 +78,31 @@ struct ovectl_ratemanage_arg {
   double bitrate_av_window_center;
 };
 
+
+  /* new rate setup */
+#define OV_ECTL_RATEMANAGE2_GET      0x14
+#define OV_ECTL_RATEMANAGE2_SET      0x15
+
+struct ovectl_ratemanage2_arg {
+  int    management_active;
+
+  long   bitrate_limit_min_kbps;
+  long   bitrate_limit_max_kbps;
+  long   bitrate_limit_reservoir_bits;
+  double bitrate_limit_reservoir_bias;
+
+  long   bitrate_average_kbps;
+  double bitrate_average_damping;
+};
+
+
+
+#define OV_ECTL_LOWPASS_GET          0x20
+#define OV_ECTL_LOWPASS_SET          0x21
+
+#define OV_ECTL_IBLOCK_GET           0x30
+#define OV_ECTL_IBLOCK_SET           0x31
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */