Version 0.94.1 of the bladeenc mp3 encoder
[swftools.git] / lib / bladeenc / l3side.h
diff --git a/lib/bladeenc/l3side.h b/lib/bladeenc/l3side.h
new file mode 100644 (file)
index 0000000..bc647a7
--- /dev/null
@@ -0,0 +1,170 @@
+/*
+                       (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-04  Andre Piotrowski
+
+       -       reformatted, slimmed
+*/
+
+
+
+/**********************************************************************
+ * ISO MPEG Audio Subgroup Software Simulation Group (1996)
+ * ISO 13818-3 MPEG-2 Audio Encoder - Lower Sampling Frequency Extension
+ *
+ * $Id: l3side.h,v 1.1 2002/01/10 17:30:00 kramm Exp $
+ *
+ * $Log: l3side.h,v $
+ * Revision 1.1  2002/01/10 17:30:00  kramm
+ * Version 0.94.1 of the bladeenc mp3 encoder
+ *
+ * Revision 1.1  1996/02/14 04:04:23  rowlands
+ * Initial revision
+ *
+ * Received from Mike Coleman
+ **********************************************************************/
+/**********************************************************************
+ *   date   programmers                comment                        *
+ * 25. 6.92  Toshiyuki Ishino          Ver 1.0                        *
+ * 29.10.92  Masahiro Iwadare          Ver 2.0                        *
+ * 17. 4.93  Masahiro Iwadare          Updated for IS Modification    *
+ *                                                                    *
+ *********************************************************************/
+
+#ifndef                __L3SIDE__
+#define                __L3SIDE__
+
+
+
+
+
+/* #define CBLIMIT_SHORT 12 */
+
+
+
+
+
+/*     void                                    l3deco (void); */
+
+
+
+
+
+/* Layer III side information. */
+
+/*     typedef         double                                  D576[576]; */
+/*     typedef         int                                             I576[576]; */
+/*     typedef         double                                  D192_3[192][3]; */
+/*     typedef         int                                             I192_3[192][3]; */
+/*     typedef         char                                    C192_3[192][3]; */
+
+
+
+/*     typedef         struct
+                               {
+                                       unsigned                                cbl_max;
+                                       unsigned                                cbs_start;
+                               }                                               III_cb_info; */
+
+typedef                struct
+                       {
+                               double                                  l[2][2][21];
+                               double                                  s[2][2][12][3];
+                       }                                               III_psy_ratio;
+
+/*     typedef         struct
+                               {
+                                       double                                  l[2][2][21];
+                                       double                                  s[2][2][12][3];
+                               }                                               III_psy_xmin;*/
+
+/*     typedef         struct
+                               {
+                                       double                                  xr[576];
+                                       double                                  xr_s[3][192];
+                                       double                                  xmin[21];
+                                       double                                  xmin_s[3][192];
+                                       int                                             ix[576];
+                                       int                                             ix_s[3][192];
+                               }                                               III_input3;*/ /* ch */
+
+typedef                struct
+                       {
+                               unsigned                                part2_3_length;
+                               unsigned                                big_values;
+                               unsigned                                count1;
+                               unsigned                                global_gain;
+                               unsigned                                scalefac_compress;
+                               unsigned                                window_switching_flag;
+                               unsigned                                block_type;
+                               unsigned                                mixed_block_flag;
+                               unsigned                                table_select[3];
+                               int /*  unsigned */             subblock_gain[3];
+                               unsigned                                region0_count;
+                               unsigned                                region1_count;
+                               unsigned                                preflag;
+                               unsigned                                scalefac_scale;
+                               unsigned                                count1table_select;
+                               unsigned                                part2_length;
+                               unsigned                                sfb_lmax;
+                               unsigned                                sfb_smax;
+                               unsigned                                address1;
+                               unsigned                                address2;
+                               unsigned                                address3;
+                               double                                  quantizerStepSize;
+                               /* added for LSF */
+                               unsigned                                *sfb_partition_table;
+                               unsigned                                slen[4];
+                       }                                               gr_info;
+
+typedef                struct
+                       {
+                               int                                             main_data_begin; /* unsigned -> int */
+                               unsigned                                private_bits;
+                               int                                             resvDrain;
+                               unsigned                                scfsi[2][4];
+                               struct
+                               {
+                                       struct gr_info_s
+                                       {
+                                               gr_info                                 tt;
+                                       }                                               ch[2];
+                               }                                               gr[2];
+                       } III_side_info_t;
+
+
+
+
+
+/* Layer III scale factors. */
+
+typedef                struct
+                       {
+                               int                                             l[2][2][22];      /*         [cb] */
+                               int                                             s[2][2][13][3];   /* [window][cb] */
+                       }                                               III_scalefac_t;   /* [gr][ch] */
+
+
+
+
+
+#endif         /* __L3SIDE__ */