X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Flame%2Fl3side.h;fp=lib%2Flame%2Fl3side.h;h=d9461b5e00988b77e471b5951061650dc28f95b9;hb=698acf324aaa52147b1486646f6549ffd95804da;hp=0000000000000000000000000000000000000000;hpb=f8d07c79494e8536e682da73cee2057740a0e4db;p=swftools.git diff --git a/lib/lame/l3side.h b/lib/lame/l3side.h new file mode 100644 index 0000000..d9461b5 --- /dev/null +++ b/lib/lame/l3side.h @@ -0,0 +1,100 @@ +/* + * Layer 3 side include file + * + * Copyright (c) 1999 Mark Taylor + * + * 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_L3SIDE_H +#define LAME_L3SIDE_H + +#include "encoder.h" +#include "machine.h" + +/* Layer III side information. */ + +typedef FLOAT8 D576[576]; +typedef int I576[576]; +typedef FLOAT8 D192_3[192][3]; +typedef int I192_3[192][3]; + + +typedef struct +{ + int l[1+SBMAX_l]; + int s[1+SBMAX_s]; +} scalefac_struct; + + +typedef struct { + FLOAT8 l[SBMAX_l]; + FLOAT8 s[SBMAX_s][3]; +} III_psy_xmin; + +typedef struct { + III_psy_xmin thm; + III_psy_xmin en; +} III_psy_ratio; + +typedef struct { + int part2_3_length; + int big_values; + int count1; + int global_gain; + int scalefac_compress; + int window_switching_flag; + int block_type; + int mixed_block_flag; + int table_select[3]; + int subblock_gain[3]; + int region0_count; + int region1_count; + int preflag; + int scalefac_scale; + int count1table_select; + + int part2_length; + int sfb_lmax; + int sfb_smin; + int count1bits; + /* added for LSF */ + const int *sfb_partition_table; + int slen[4]; +} gr_info; + +typedef struct { + int main_data_begin; + int private_bits; + int resvDrain_pre; + int resvDrain_post; + int scfsi[2][4]; + struct { + struct gr_info_ss { + gr_info tt; + } ch[2]; + } gr[2]; + } III_side_info_t; + +/* Layer III scale factors. */ +/* note: there are only SBPSY_l=(SBMAX_l-1) and SBPSY_s=(SBMAX_s-1) scalefactors. + * Dont know why these would be dimensioned SBMAX_l and SBMAX-s */ +typedef struct { + int l[SBMAX_l]; /* [cb] */ + int s[SBMAX_s][3]; /* [window][cb] */ +} III_scalefac_t; /* [gr][ch] */ + +#endif