mpg123.h

Go to the documentation of this file.
00001 #ifndef MPG123_H_INCLUDED
00002 #define MPG123_H_INCLUDED
00003 
00004 #include        <stdio.h>
00005 
00006 #ifdef STDC_HEADERS
00007 # include <string.h>
00008 #else
00009 # ifndef HAVE_STRCHR
00010 #  define strchr index
00011 #  define strrchr rindex
00012 # endif
00013 char *strchr (), *strrchr ();
00014 # ifndef HAVE_MEMCPY
00015 #  define memcpy(d, s, n) bcopy ((s), (d), (n))
00016 #  define memmove(d, s, n) bcopy ((s), (d), (n))
00017 # endif
00018 #endif
00019 
00020 #include        <signal.h>
00021 
00022 
00023 #if defined(__riscos__) && defined(FPA10)
00024 #include        "ymath.h"
00025 #else
00026 #include        <math.h>
00027 #endif
00028 
00029 #ifndef M_PI
00030 #define M_PI       3.14159265358979323846
00031 #endif
00032 #ifndef M_SQRT2
00033 #define M_SQRT2    1.41421356237309504880
00034 #endif
00035 
00036 #ifndef FALSE
00037 #define         FALSE                   0
00038 #endif
00039 #ifndef TRUE
00040 #define         TRUE                    1
00041 #endif
00042 
00043 #undef REAL_IS_FLOAT
00044 #define REAL_IS_FLOAT
00045 
00046 #ifdef REAL_IS_FLOAT
00047 #  define real float
00048 #elif defined(REAL_IS_LONG_DOUBLE)
00049 #  define real long double
00050 #else
00051 #  define real double
00052 #endif
00053 
00054 #define         FALSE                   0
00055 #define         TRUE                    1
00056 
00057 #define         SBLIMIT                 32
00058 #define         SSLIMIT                 18
00059 
00060 #define         MPG_MD_STEREO           0
00061 #define         MPG_MD_JOINT_STEREO     1
00062 #define         MPG_MD_DUAL_CHANNEL     2
00063 #define         MPG_MD_MONO             3
00064 
00065 #define MAXFRAMESIZE 2880
00066 
00067 /* AF: ADDED FOR LAYER1/LAYER2 */
00068 #define         SCALE_BLOCK             12
00069 
00070 
00071 /* Pre Shift fo 16 to 8 bit converter table */
00072 #define AUSHIFT (3)
00073 
00074 struct frame {
00075     int stereo;
00076     int jsbound;
00077     int single;
00078     int lsf;
00079     int mpeg25;
00080     int header_change;
00081     int lay;
00082     int error_protection;
00083     int bitrate_index;
00084     int sampling_frequency;
00085     int padding;
00086     int extension;
00087     int mode;
00088     int mode_ext;
00089     int copyright;
00090     int original;
00091     int emphasis;
00092     int framesize; /* computed framesize */
00093 
00094         /* AF: ADDED FOR LAYER1/LAYER2 */
00095     int II_sblimit;
00096     struct al_table2 *alloc;
00097         int down_sample_sblimit;
00098         int     down_sample;
00099 
00100 
00101 };
00102 
00103 struct gr_info_s {
00104       int scfsi;
00105       unsigned part2_3_length;
00106       unsigned big_values;
00107       unsigned scalefac_compress;
00108       unsigned block_type;
00109       unsigned mixed_block_flag;
00110       unsigned table_select[3];
00111       unsigned subblock_gain[3];
00112       unsigned maxband[3];
00113       unsigned maxbandl;
00114       unsigned maxb;
00115       unsigned region1start;
00116       unsigned region2start;
00117       unsigned preflag;
00118       unsigned scalefac_scale;
00119       unsigned count1table_select;
00120       real *full_gain[3];
00121       real *pow2gain;
00122 };
00123 
00124 struct III_sideinfo
00125 {
00126   unsigned main_data_begin;
00127   unsigned private_bits;
00128   struct {
00129     struct gr_info_s gr[2];
00130   } ch[2];
00131 };
00132 
00133 
00134 #endif
00135 

Generated on Sun Dec 2 11:34:21 2007 for LAME by  doxygen 1.5.2