--- /dev/null
+/*
+ (c) Copyright 1998-2000 - Tord Jansson
+ ======================================
+
+ This file is part of the BladeEnc MP3 Encoder, based on
+ ISO's reference code for MPEG Layer 3 compression, and might
+ contain smaller or larger sections that are directly taken
+ from ISO's reference code.
+
+ All changes to the ISO reference code herein are either
+ copyrighted by Tord Jansson (tord.jansson@swipnet.se)
+ or sublicensed to Tord Jansson by a third party.
+
+ BladeEnc is free software; you can redistribute this file
+ and/or modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+
+
+ ------------ Changes ------------
+
+ 2000-12-06 Andre Piotrowski
+
+ - reformatted
+*/
+#ifndef __TABLES__
+#define __TABLES__
+
+
+
+
+
+#define NEW_L3PARM_TABLES 1
+#define CALC_NORM 0
+
+
+
+
+
+#define CBANDS 63
+#define CBANDS_s 42
+
+
+
+
+
+#if NEW_L3PARM_TABLES
+
+
+ typedef struct
+ {
+ int cbmax_l; /* number of valid entries */
+ int numlines_l[CBANDS];
+ double minval [CBANDS];
+ double qthr_l [CBANDS];
+#if !CALC_NORM /* do we compute more exact values? */
+ double norm_l [CBANDS];
+#endif
+ double bval_l [CBANDS];
+ } l3_long_data;
+
+
+ typedef struct
+ {
+ int cbmax_s; /* number of valid entries */
+ int numlines_s[CBANDS_s];
+ double qthr_s [CBANDS_s];
+#if !CALC_NORM /* do we compute more exact values? */
+ double norm_s [CBANDS_s];
+#endif
+ double SNR_s [CBANDS_s];
+ double bval_s [CBANDS_s];
+ } l3_short_data;
+
+
+ typedef struct
+ {
+ int cbw_l [CBANDS];
+ int bu_l [CBANDS];
+ int bo_l [CBANDS];
+ double w1_l [CBANDS];
+ double w2_l [CBANDS];
+ } l3_long_thres;
+
+
+ typedef struct
+ {
+ int cbw_s [CBANDS_s];
+ int bu_s [CBANDS_s];
+ int bo_s [CBANDS_s];
+ double w1_s [CBANDS_s];
+ double w2_s [CBANDS_s];
+ } l3_short_thres;
+
+
+ typedef struct
+ {
+ l3_long_data long_data;
+ l3_short_data short_data;
+ l3_long_thres long_thres;
+ l3_short_thres short_thres;
+ } l3_parm_block;
+
+
+ extern l3_parm_block l3_parm[3];
+
+
+#else /* NEW_L3PARM_TABLES */
+
+
+ typedef struct
+ {
+ /* int no; */
+ int lines;
+ double minVal;
+ double qthr;
+ double norm;
+ double bVal;
+ } psyDataElem;
+
+
+ typedef struct
+ {
+ /* int no; */
+ int lines;
+ double qthr;
+ double norm;
+ double snr;
+ double bVal;
+ } psyDataElem2;
+
+ typedef struct
+ {
+ int cbw;
+ int bu;
+ int bo;
+ float w1;
+ float w2;
+ } psyDataElem3;
+
+
+ extern psyDataElem psy_longBlock_48000_61[62];
+ extern psyDataElem psy_longBlock_44100_62[63];
+ extern psyDataElem psy_longBlock_32000_58[59];
+
+ extern psyDataElem2 psy_shortBlock_48000_37[38];
+ extern psyDataElem2 psy_shortBlock_44100_38[39];
+ extern psyDataElem2 psy_shortBlock_32000_41[42];
+
+ extern psyDataElem3 psy_data3_48000_20[21];
+ extern psyDataElem3 psy_data3_44100_20[21];
+ extern psyDataElem3 psy_data3_32000_20[21];
+
+ extern psyDataElem3 psy_data4_48000_11[12];
+ extern psyDataElem3 psy_data4_44100_11[12];
+ extern psyDataElem3 psy_data4_32000_11[12];
+
+
+#endif /* NEW_L3PARM_TABLES */
+
+
+
+
+
+extern double enwindow[512];
+extern char aHuffcode[1498][36];
+
+
+
+
+
+#endif /* __TABLES__ */