lame-analysis.h

Go to the documentation of this file.
00001 /*
00002  *      GTK plotting routines source file
00003  *
00004  *      Copyright (c) 1999 Mark Taylor
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Library General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the
00018  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00019  * Boston, MA 02111-1307, USA.
00020  */
00021 
00022 #ifndef LAME_GTKANAL_H
00023 #define LAME_GTKANAL_H
00024 
00025 
00026 #define READ_AHEAD 40   /* number of frames to read ahead */
00027 #define MAXMPGLAG READ_AHEAD /* if the mpg123 lag becomes bigger than this
00028                                 we have to stop */
00029 #define NUMBACK 6       /* number of frames we can back up */
00030 #define NUMPINFO (NUMBACK+READ_AHEAD+1)
00031 
00032 
00033 
00034 struct plotting_data {
00035     int     frameNum;        /* current frame number */
00036     int     frameNum123;
00037     int     num_samples;     /* number of pcm samples read for this frame */
00038     double  frametime;       /* starting time of frame, in seconds */
00039     double  pcmdata[2][1600];
00040     double  pcmdata2[2][1152 + 1152 - DECDELAY];
00041     double  xr[2][2][576];
00042     double  mpg123xr[2][2][576];
00043     double  ms_ratio[2];
00044     double  ms_ener_ratio[2];
00045 
00046     /* L,R, M and S values */
00047     double  energy_save[4][BLKSIZE]; /* psymodel is one ahead */
00048     double  energy[2][4][BLKSIZE];
00049     double  pe[2][4];
00050     double  thr[2][4][SBMAX_l];
00051     double  en[2][4][SBMAX_l];
00052     double  thr_s[2][4][3 * SBMAX_s];
00053     double  en_s[2][4][3 * SBMAX_s];
00054     double  ers_save[4];     /* psymodel is one ahead */
00055     double  ers[2][4];
00056 
00057     double  sfb[2][2][SBMAX_l];
00058     double  sfb_s[2][2][3 * SBMAX_s];
00059     double  LAMEsfb[2][2][SBMAX_l];
00060     double  LAMEsfb_s[2][2][3 * SBMAX_s];
00061 
00062     int     LAMEqss[2][2];
00063     int     qss[2][2];
00064     int     big_values[2][2];
00065     int     sub_gain[2][2][3];
00066 
00067     double  xfsf[2][2][SBMAX_l];
00068     double  xfsf_s[2][2][3 * SBMAX_s];
00069 
00070     int     over[2][2];
00071     double  tot_noise[2][2];
00072     double  max_noise[2][2];
00073     double  over_noise[2][2];
00074     int     over_SSD[2][2];
00075     int     blocktype[2][2];
00076     int     scalefac_scale[2][2];
00077     int     preflag[2][2];
00078     int     mpg123blocktype[2][2];
00079     int     mixed[2][2];
00080     int     mainbits[2][2];
00081     int     sfbits[2][2];
00082     int     LAMEmainbits[2][2];
00083     int     LAMEsfbits[2][2];
00084     int     framesize, stereo, js, ms_stereo, i_stereo, emph, bitrate, sampfreq, maindata;
00085     int     crc, padding;
00086     int     scfsi[2], mean_bits, resvsize;
00087     int     totbits;
00088 };
00089 #ifndef plotting_data_defined
00090 #define plotting_data_defined
00091 typedef struct plotting_data plotting_data;
00092 #endif
00093 
00094 extern plotting_data *pinfo;
00095 
00096 #endif

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