Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

/home/rdbrown/doxygen/cse125g1/ov-win32/include/vorbis/vorbisenc.h

00001 /********************************************************************
00002  *                                                                  *
00003  * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.   *
00004  * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS     *
00005  * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
00006  * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.       *
00007  *                                                                  *
00008  * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001             *
00009  * by the XIPHOPHORUS Company http://www.xiph.org/                  *
00010  *                                                                  *
00011  ********************************************************************
00012 
00013  function: vorbis encode-engine setup
00014  last mod: $Id: vorbisenc.h,v 1.1 2005/04/19 17:44:01 rdbrown Exp $
00015 
00016  ********************************************************************/
00017 
00018 #ifndef _OV_ENC_H_
00019 #define _OV_ENC_H_
00020 
00021 #ifdef __cplusplus
00022 extern "C"
00023 {
00024 #endif /* __cplusplus */
00025 
00026 #include "codec.h"
00027 
00028 extern int vorbis_encode_init(vorbis_info *vi,
00029                               long channels,
00030                               long rate,
00031                               
00032                               long max_bitrate,
00033                               long nominal_bitrate,
00034                               long min_bitrate);
00035 
00036 extern int vorbis_encode_setup_managed(vorbis_info *vi,
00037                                        long channels,
00038                                        long rate,
00039                                        
00040                                        long max_bitrate,
00041                                        long nominal_bitrate,
00042                                        long min_bitrate);
00043   
00044 extern int vorbis_encode_setup_vbr(vorbis_info *vi,
00045                                   long channels,
00046                                   long rate,
00047                                   
00048                                   float /* quality level from 0. (lo) to 1. (hi) */
00049                                   );
00050 
00051 extern int vorbis_encode_init_vbr(vorbis_info *vi,
00052                                   long channels,
00053                                   long rate,
00054                                   
00055                                   float base_quality /* quality level from 0. (lo) to 1. (hi) */
00056                                   );
00057 
00058 extern int vorbis_encode_setup_init(vorbis_info *vi);
00059 
00060 extern int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg);
00061 
00062 #define OV_ECTL_RATEMANAGE_GET       0x10
00063 
00064 #define OV_ECTL_RATEMANAGE_SET       0x11
00065 #define OV_ECTL_RATEMANAGE_AVG       0x12
00066 #define OV_ECTL_RATEMANAGE_HARD      0x13
00067 
00068 #define OV_ECTL_LOWPASS_GET          0x20
00069 #define OV_ECTL_LOWPASS_SET          0x21
00070 
00071 #define OV_ECTL_IBLOCK_GET           0x30
00072 #define OV_ECTL_IBLOCK_SET           0x31
00073 
00074 struct ovectl_ratemanage_arg {
00075   int    management_active;
00076 
00077   long   bitrate_hard_min;
00078   long   bitrate_hard_max;
00079   double bitrate_hard_window;
00080 
00081   long   bitrate_av_lo;
00082   long   bitrate_av_hi;
00083   double bitrate_av_window;
00084   double bitrate_av_window_center;
00085 };
00086 
00087 #ifdef __cplusplus
00088 }
00089 #endif /* __cplusplus */
00090 
00091 #endif
00092 
00093 

Generated on Thu Aug 18 16:03:07 2005 for Robin Hood: Thieves & Knights by doxygen1.2.18