reworked compression handling logic
[swftools.git] / lib / lame / lame-analysis.h
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