1 /* 2 * GTK plotting routines source file 3 * 4 * Copyright (c) 1999 Mark Taylor 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Library General Public 8 * License as published by the Free Software Foundation; either 9 * version 2 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Library General Public License for more details. 15 * 16 * You should have received a copy of the GNU Library General Public 17 * License along with this library; if not, write to the 18 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 * Boston, MA 02111-1307, USA. 20 */ 21 22 #ifndef LAME_GTKANAL_H 23 #define LAME_GTKANAL_H 24 25 #include "encoder.h" 26 27 #define READ_AHEAD 10 /* number of frames to read ahead */ 28 #define MAXMPGLAG READ_AHEAD /* if the mpg123 lag becomes bigger than this we have to stop */ 29 #define NUMBACK 6 /* number of frames we can back up */ 30 #define NUMPINFO (NUMBACK+READ_AHEAD+1) 31 32 33 34 typedef struct { 35 int frameNum; /* current frame number */ 36 int frameNum123; 37 int num_samples; /* number of pcm samples read for this frame */ 38 double frametime; /* starting time of frame, in seconds */ 39 double pcmdata[2][1600]; 40 double pcmdata2[2][1152+1152-DECDELAY]; 41 double xr[2][2][576]; 42 double mpg123xr[2][2][576]; 43 double ms_ratio[2]; 44 double ms_ener_ratio[2]; 45 46 /* L,R, M and S values */ 47 double energy[2][4][BLKSIZE]; 48 double pe[2][4]; 49 double thr[2][4][SBMAX_l]; 50 double en[2][4][SBMAX_l]; 51 double thr_s[2][4][3*SBMAX_s]; 52 double en_s[2][4][3*SBMAX_s]; 53 double ers[2][4]; 54 55 double sfb[2][2][SBMAX_l]; 56 double sfb_s[2][2][3*SBMAX_s]; 57 double LAMEsfb[2][2][SBMAX_l]; 58 double LAMEsfb_s[2][2][3*SBMAX_s]; 59 60 int LAMEqss[2][2]; 61 int qss[2][2]; 62 int big_values[2][2]; 63 int sub_gain[2][2][3]; 64 65 double xfsf[2][2][SBMAX_l]; 66 double xfsf_s[2][2][3*SBMAX_s]; 67 68 int over[2][2]; 69 double tot_noise[2][2]; 70 double max_noise[2][2]; 71 double over_noise[2][2]; 72 int blocktype[2][2]; 73 int scalefac_scale[2][2]; 74 int preflag[2][2]; 75 int mpg123blocktype[2][2]; 76 int mixed[2][2]; 77 int mainbits[2][2]; 78 int sfbits[2][2]; 79 int LAMEmainbits[2][2]; 80 int LAMEsfbits[2][2]; 81 int framesize,stereo,js,ms_stereo,i_stereo,emph,bitrate,sampfreq,maindata; 82 int crc,padding; 83 int scfsi[2],mean_bits,resvsize; 84 int totbits; 85 } plotting_data; 86 87 88 extern plotting_data *pinfo; 89 90 #endif 91