fix crashes reported by Debian Cylab Mayhem Team
[swftools.git] / lib / lame / lame-analysis.h
blob2a1423b53d3bc8e77c1e561c502ee4510ec28b95
1 /*
2 * GTK plotting routines source file
4 * Copyright (c) 1999 Mark Taylor
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.
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.
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.
22 #ifndef LAME_GTKANAL_H
23 #define LAME_GTKANAL_H
25 #include "encoder.h"
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)
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];
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];
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];
60 int LAMEqss[2][2];
61 int qss[2][2];
62 int big_values[2][2];
63 int sub_gain[2][2][3];
65 double xfsf[2][2][SBMAX_l];
66 double xfsf_s[2][2][3*SBMAX_s];
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;
88 extern plotting_data *pinfo;
90 #endif