X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Flame%2Ftables.h;fp=lib%2Flame%2Ftables.h;h=486f2b1237144c92dc84a8fbb0cf9ee156779d70;hb=698acf324aaa52147b1486646f6549ffd95804da;hp=0000000000000000000000000000000000000000;hpb=f8d07c79494e8536e682da73cee2057740a0e4db;p=swftools.git diff --git a/lib/lame/tables.h b/lib/lame/tables.h new file mode 100644 index 0000000..486f2b1 --- /dev/null +++ b/lib/lame/tables.h @@ -0,0 +1,90 @@ +/* + * MPEG layer 3 tables include file + * + * Copyright (c) 1999 Albert L Faber + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef LAME_TABLES_H +#define LAME_TABLES_H + +#include "machine.h" + +typedef struct { + unsigned char no; + unsigned char width; + unsigned char minval_2; + float quiet_thr; + float norm; + float bark; +} type1_t; + +typedef struct { + unsigned char no; + unsigned char width; + float quiet_thr; + float norm; + float SNR; + float bark; +} type2_t; + +typedef struct { + unsigned int no : 5; + unsigned int cbw : 3; + unsigned int bu : 6; + unsigned int bo : 6; + unsigned int w1_576 : 10; + unsigned int w2_576 : 10; +} type34_t; + +typedef struct { + size_t len1; + const type1_t* const tab1; + size_t len2; + const type2_t* const tab2; + size_t len3; + const type34_t* const tab3; + size_t len4; + const type34_t* const tab4; +} type5_t; + +extern const type5_t table5 [6]; + + + +#define HTN 34 + +struct huffcodetab { + const int xlen; /* max. x-index+ */ + const int linmax; /* max number to be stored in linbits */ + const short* table; /* pointer to array[xlen][ylen] */ + const char* hlen; /* pointer to array[xlen][ylen] */ +}; + +extern const struct huffcodetab ht [HTN]; + /* global memory block */ + /* array of all huffcodtable headers */ + /* 0..31 Huffman code table 0..31 */ + /* 32,33 count1-tables */ + +extern const char t32l []; +extern const char t33l []; + +extern const unsigned int largetbl [16*16]; +extern const unsigned int table23 [3*3]; +extern const unsigned int table56 [4*4]; +#endif /* LAME_TABLES_H */