shithub: aacdec

Download patch

ref: b890573fa1aa6ef5c6e4bc64eba64dd220ad09c1
parent: f525ec421ab9734de9eeb231c2797baf2ee12c44
author: menno <menno>
date: Wed Oct 16 15:18:10 EDT 2002

OK

--- a/libfaad/decoder.c
+++ b/libfaad/decoder.c
@@ -16,7 +16,7 @@
 ** along with this program; if not, write to the Free Software 
 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 **
-** $Id: decoder.c,v 1.36 2002/09/27 08:37:22 menno Exp $
+** $Id: decoder.c,v 1.37 2002/10/16 19:18:09 menno Exp $
 **/
 
 #include <stdlib.h>
@@ -431,7 +431,7 @@
             } else if (syntax_elements[i]->paired_channel == ch) {
                 ics = &(syntax_elements[i]->ics2);
                 if (syntax_elements[i]->common_window)
-                    ltp = &(syntax_elements[i]->ics1.ltp2);
+                    ltp = &(ics->ltp2);
                 else
                     ltp = &(ics->ltp);
                 right_channel = 1;
@@ -489,11 +489,10 @@
             {
                 if (ltp->data_present)
                 {
-                    if (!ltp->lag_update)
-                        ltp->lag = ltp_lag[ch];
-                    else
+                    if (ltp->lag_update)
                         ltp_lag[ch] = ltp->lag;
                 }
+                ltp->lag = ltp_lag[ch];
             }
 #endif
 
@@ -527,7 +526,7 @@
             uint16_t r;
             time_out[ch] = (real_t*)malloc(frame_len*2*sizeof(real_t));
 			for (r = 0; r < frame_len*2; r++)
-				time_out[ch][r] = REAL_CONST(0.0);
+				time_out[ch][r] = 0;
         }
 
         /* filter bank */
--- a/libfaad/libfaad.dsp
+++ b/libfaad/libfaad.dsp
@@ -217,26 +217,6 @@
 # End Source File
 # Begin Source File
 
-SOURCE=.\sbr_dec.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_huff.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_qmf.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_syntax.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_util.c
-# End Source File
-# Begin Source File
-
 SOURCE=.\specrec.c
 # End Source File
 # Begin Source File
@@ -350,26 +330,6 @@
 # Begin Source File
 
 SOURCE=.\rvlc_scale_factors.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_dec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_huff.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_qmf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_syntax.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_util.h
 # End Source File
 # Begin Source File
 
--- a/libfaad/libfaad.vcproj
+++ b/libfaad/libfaad.vcproj
@@ -24,7 +24,7 @@
 				AdditionalIncludeDirectories="fftw"
 				PreprocessorDefinitions="_DEBUG,WIN32,_LIB,FFTW_ENABLE_FLOAT"
 				BasicRuntimeChecks="3"
-				RuntimeLibrary="5"
+				RuntimeLibrary="1"
 				UsePrecompiledHeader="2"
 				PrecompiledHeaderFile=".\Debug/libfaad.pch"
 				AssemblerListingLocation=".\Debug/"
@@ -65,13 +65,10 @@
 			CharacterSet="2">
 			<Tool
 				Name="VCCLCompilerTool"
-				GlobalOptimizations="TRUE"
 				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="TRUE"
-				FavorSizeOrSpeed="1"
 				OptimizeForProcessor="2"
-				AdditionalIncludeDirectories=""
-				PreprocessorDefinitions="NDEBUG,WIN32,_LIB"
+				AdditionalIncludeDirectories="fftw"
+				PreprocessorDefinitions="NDEBUG,WIN32,_LIB,FFTW_ENABLE_FLOAT"
 				StringPooling="TRUE"
 				RuntimeLibrary="4"
 				EnableFunctionLevelLinking="TRUE"
@@ -170,21 +167,6 @@
 				RelativePath=".\rvlc_scale_factors.c">
 			</File>
 			<File
-				RelativePath=".\sbr_dec.c">
-			</File>
-			<File
-				RelativePath=".\sbr_huff.c">
-			</File>
-			<File
-				RelativePath=".\sbr_qmf.c">
-			</File>
-			<File
-				RelativePath=".\sbr_syntax.c">
-			</File>
-			<File
-				RelativePath="sbr_util.c">
-			</File>
-			<File
 				RelativePath=".\specrec.c">
 			</File>
 			<File
@@ -247,9 +229,6 @@
 				RelativePath=".\cfft.h">
 			</File>
 			<File
-				RelativePath="cfft_tab.h">
-			</File>
-			<File
 				RelativePath=".\common.h">
 			</File>
 			<File
@@ -271,10 +250,10 @@
 				RelativePath=".\error.h">
 			</File>
 			<File
-				RelativePath=".\filtbank.h">
+				RelativePath=".\fftw\f77_func.h">
 			</File>
 			<File
-				RelativePath="fixed.h">
+				RelativePath=".\filtbank.h">
 			</File>
 			<File
 				RelativePath=".\codebook\hcb.h">
@@ -286,9 +265,6 @@
 				RelativePath=".\ic_predict.h">
 			</File>
 			<File
-				RelativePath="iq_table.h">
-			</File>
-			<File
 				RelativePath=".\is.h">
 			</File>
 			<File
@@ -331,10 +307,7 @@
 				RelativePath=".\sbr_syntax.h">
 			</File>
 			<File
-				RelativePath="sbr_util.h">
-			</File>
-			<File
-				RelativePath="sine_win.h">
+				RelativePath=".\sbr_util.h">
 			</File>
 			<File
 				RelativePath=".\specrec.h">
--- a/libfaad/libfaad2_dll.dsp
+++ b/libfaad/libfaad2_dll.dsp
@@ -224,26 +224,6 @@
 # End Source File
 # Begin Source File
 
-SOURCE=.\sbr_dec.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_huff.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_qmf.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_syntax.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_util.c
-# End Source File
-# Begin Source File
-
 SOURCE=.\specrec.c
 # End Source File
 # Begin Source File
@@ -349,26 +329,6 @@
 # Begin Source File
 
 SOURCE=.\rvlc_scale_factors.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_dec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_huff.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_qmf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_syntax.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_util.h
 # End Source File
 # Begin Source File
 
--- a/libfaad/libfaad2_dll.vcproj
+++ b/libfaad/libfaad2_dll.vcproj
@@ -196,21 +196,6 @@
 				RelativePath=".\rvlc_scale_factors.c">
 			</File>
 			<File
-				RelativePath="sbr_dec.c">
-			</File>
-			<File
-				RelativePath="sbr_huff.c">
-			</File>
-			<File
-				RelativePath="sbr_qmf.c">
-			</File>
-			<File
-				RelativePath="sbr_syntax.c">
-			</File>
-			<File
-				RelativePath="sbr_util.c">
-			</File>
-			<File
 				RelativePath=".\specrec.c">
 			</File>
 			<File
--- a/libfaad/sbr_dec.c
+++ /dev/null
@@ -1,60 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**  
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-** 
-** This program 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 General Public License for more details.
-** 
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: sbr_dec.c,v 1.3 2002/04/23 21:08:26 menno Exp $
-**/
-
-/*
-   SBR Decoder overview:
-
-   To achieve a synchronized output signal, the following steps have to be
-   acknowledged in the decoder:
-    - The bitstream parser divides the bitstream into two parts; the AAC
-      core coder part and the SBR part.
-    - The SBR bitstream part is fed to the bitstream de-multiplexer followed
-      by de-quantization The raw data is Huffman decoded.
-    - The AAC bitstream part is fed to the AAC core decoder, where the
-      bitstream data of the current frame is decoded, yielding a time domain
-      audio signal block of 1024 samples. The block length could easily be
-      adapted to other sizes e.g. 960.
-    - The core coder audio block is fed to the analysis QMF bank using a
-      delay of 1312 samples.
-    - The analysis QMF bank performs the filtering of the delayed core coder
-      audio signal. The output from the filtering is stored in the matrix
-      Xlow. The output from the analysis QMF bank is delayed tHFGen subband
-      samples, before being fed to the synthesis QMF bank. To achieve
-      synchronization tHFGen = 32, i.e. the value must equal the number of
-      subband samples corresponding to one frame.
-    - The HF generator calculates XHigh given the matrix XLow. The process
-      is guided by the SBR data contained in the current frame.
-    - The envelope adjuster calculates the matrix Y given the matrix XHigh
-      and the SBR envelope data, extracted from the SBR bitstream. To
-      achieve synchronization, tHFAdj has to be set to tHFAdj = 0, i.e. the
-      envelope adjuster operates on data delayed tHFGen subband samples.
-    - The synthesis QMF bank operates on the delayed output from the analysis
-      QMF bank and the output from the envelope adjuster.
- */
-
-#include "common.h"
-
-#ifdef SBR
-
-#include "sbr_syntax.h"
-#include "sbr_qmf.h"
-
-#endif
--- a/libfaad/sbr_dec.h
+++ /dev/null
@@ -1,35 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**  
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-** 
-** This program 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 General Public License for more details.
-** 
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: sbr_dec.h,v 1.2 2002/09/29 22:19:48 menno Exp $
-**/
-
-#ifndef __SBR_DEC_H__
-#define __SBR_DEC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
--- a/libfaad/sbr_huff.c
+++ /dev/null
@@ -1,673 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**  
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-** 
-** This program 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 General Public License for more details.
-** 
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: sbr_huff.c,v 1.3 2002/04/23 21:08:26 menno Exp $
-**/
-
-#include "common.h"
-
-#ifdef SBR
-
-#include "bits.h"
-#include "sbr_huff.h"
-
-
-/* huffman tables all have some offset LAV */
-uint16_t sbr_huff_dec(bitfile *ld, sbr_huff_tab *t_huff)
-{
-}
-
-
-sbr_huff_tab t_huffman_env_1_5dB[] = {
-{ /*   */ 0, 60},
-{ /*   */ 1, 59},
-{ /*   */ 4, 61},
-{ /*   */ 5, 58},
-{ /*   */ 12, 62},
-{ /*   */ 13, 57},
-{ /*   */ 28, 63},
-{ /*   */ 29, 56},
-{ /*   */ 60, 64},
-{ /*   */ 61, 55},
-{ /*   */ 124, 65},
-{ /*   */ 125, 54},
-{ /*   */ 252, 66},
-{ /*   */ 253, 53},
-{ /*   */ 508, 67},
-{ /*   */ 509, 52},
-{ /*   */ 1020, 51},
-{ /*   */ 1021, 68},
-{ /*   */ 2044, 50},
-{ /*   */ 4090, 69},
-{ /*   */ 4091, 49},
-{ /*   */ 8184, 70},
-{ /*   */ 8185, 48},
-{ /*   */ 8186, 47},
-{ /*   */ 16374, 71},
-{ /*   */ 16375, 46},
-{ /*   */ 16376, 72},
-{ /*   */ 16377, 45},
-{ /*   */ 32756, 44},
-{ /*   */ 32757, 73},
-{ /*   */ 65516, 41},
-{ /*   */ 65517, 42},
-{ /*   */ 65518, 43},
-{ /*   */ 65519, 74},
-{ /*   */ 65520, 36},
-{ /*   */ 65521, 40},
-{ /*   */ 65522, 76},
-{ /*   */ 131046, 34},
-{ /*   */ 131047, 39},
-{ /*   */ 131048, 75},
-{ /*   */ 131049, 37},
-{ /*   */ 262100, 35},
-{ /*   */ 262101, 38},
-{ /*   */ 262102, 0},
-{ /*   */ 262103, 1},
-{ /*   */ 262104, 2},
-{ /*   */ 262105, 3},
-{ /*   */ 262106, 4},
-{ /*   */ 262107, 5},
-{ /*   */ 524216, 6},
-{ /*   */ 524217, 7},
-{ /*   */ 524218, 8},
-{ /*   */ 524219, 9},
-{ /*   */ 524220, 10},
-{ /*   */ 524221, 11},
-{ /*   */ 524222, 12},
-{ /*   */ 524223, 13},
-{ /*   */ 524224, 14},
-{ /*   */ 524225, 15},
-{ /*   */ 524226, 16},
-{ /*   */ 524227, 17},
-{ /*   */ 524228, 18},
-{ /*   */ 524229, 19},
-{ /*   */ 524230, 20},
-{ /*   */ 524231, 21},
-{ /*   */ 524232, 22},
-{ /*   */ 524233, 23},
-{ /*   */ 524234, 24},
-{ /*   */ 524235, 25},
-{ /*   */ 524236, 26},
-{ /*   */ 524237, 27},
-{ /*   */ 524238, 28},
-{ /*   */ 524239, 29},
-{ /*   */ 524240, 30},
-{ /*   */ 524241, 31},
-{ /*   */ 524242, 32},
-{ /*   */ 524243, 33},
-{ /*   */ 524244, 77},
-{ /*   */ 524245, 78},
-{ /*   */ 524246, 79},
-{ /*   */ 524247, 80},
-{ /*   */ 524248, 81},
-{ /*   */ 524249, 82},
-{ /*   */ 524250, 83},
-{ /*   */ 524251, 84},
-{ /*   */ 524252, 85},
-{ /*   */ 524253, 86},
-{ /*   */ 524254, 87},
-{ /*   */ 524255, 88},
-{ /*   */ 524256, 89},
-{ /*   */ 524257, 90},
-{ /*   */ 524258, 91},
-{ /*   */ 524259, 92},
-{ /*   */ 524260, 93},
-{ /*   */ 524261, 94},
-{ /*   */ 524262, 95},
-{ /*   */ 524263, 96},
-{ /*   */ 524264, 97},
-{ /*   */ 524265, 98},
-{ /*   */ 524266, 99},
-{ /*   */ 524267, 100},
-{ /*   */ 524268, 101},
-{ /*   */ 524269, 102},
-{ /*   */ 524270, 103},
-{ /*   */ 524271, 104},
-{ /*   */ 524272, 105},
-{ /*   */ 524273, 106},
-{ /*   */ 524274, 107},
-{ /*   */ 524275, 108},
-{ /*   */ 524276, 109},
-{ /*   */ 524277, 110},
-{ /*   */ 524278, 111},
-{ /*   */ 524279, 112},
-{ /*   */ 524280, 113},
-{ /*   */ 524281, 114},
-{ /*   */ 524282, 115},
-{ /*   */ 524283, 116},
-{ /*   */ 524284, 117},
-{ /*   */ 524285, 118},
-{ /*   */ 524286, 119},
-{ /*   */ 524287, 120}
-};
-
-sbr_huff_tab f_huffman_env_1_5dB[] = {
-{ /*   */ 0, 60},
-{ /*   */ 1, 59},
-{ /*   */ 4, 61},
-{ /*   */ 5, 58},
-{ /*   */ 12, 57},
-{ /*   */ 13, 62},
-{ /*   */ 28, 56},
-{ /*   */ 29, 63},
-{ /*   */ 60, 55},
-{ /*   */ 61, 64},
-{ /*   */ 124, 54},
-{ /*   */ 250, 65},
-{ /*   */ 251, 53},
-{ /*   */ 252, 66},
-{ /*   */ 506, 52},
-{ /*   */ 507, 67},
-{ /*   */ 508, 51},
-{ /*   */ 1018, 68},
-{ /*   */ 1019, 50},
-{ /*   */ 2040, 69},
-{ /*   */ 2041, 49},
-{ /*   */ 2042, 70},
-{ /*   */ 2043, 71},
-{ /*   */ 4088, 48},
-{ /*   */ 4089, 72},
-{ /*   */ 4090, 47},
-{ /*   */ 4091, 73},
-{ /*   */ 8184, 74},
-{ /*   */ 8185, 46},
-{ /*   */ 8186, 45},
-{ /*   */ 8187, 75},
-{ /*   */ 16376, 76},
-{ /*   */ 16377, 77},
-{ /*   */ 16378, 44},
-{ /*   */ 32758, 43},
-{ /*   */ 32759, 42},
-{ /*   */ 65520, 41},
-{ /*   */ 65521, 78},
-{ /*   */ 65522, 79},
-{ /*   */ 65523, 40},
-{ /*   */ 65524, 39},
-{ /*   */ 131050, 80},
-{ /*   */ 131051, 81},
-{ /*   */ 131052, 36},
-{ /*   */ 131053, 37},
-{ /*   */ 131054, 38},
-{ /*   */ 131055, 34},
-{ /*   */ 262112, 32},
-{ /*   */ 262113, 82},
-{ /*   */ 262114, 83},
-{ /*   */ 262115, 85},
-{ /*   */ 262116, 19},
-{ /*   */ 262117, 35},
-{ /*   */ 262118, 86},
-{ /*   */ 262119, 87},
-{ /*   */ 262120, 30},
-{ /*   */ 262121, 33},
-{ /*   */ 262122, 84},
-{ /*   */ 262123, 88},
-{ /*   */ 262124, 104},
-{ /*   */ 524250, 9},
-{ /*   */ 524251, 14},
-{ /*   */ 524252, 16},
-{ /*   */ 524253, 17},
-{ /*   */ 524254, 23},
-{ /*   */ 524255, 27},
-{ /*   */ 524256, 29},
-{ /*   */ 524257, 31},
-{ /*   */ 524258, 90},
-{ /*   */ 524259, 97},
-{ /*   */ 524260, 102},
-{ /*   */ 524261, 107},
-{ /*   */ 524262, 108},
-{ /*   */ 524263, 0},
-{ /*   */ 524264, 1},
-{ /*   */ 1048530, 2},
-{ /*   */ 1048531, 3},
-{ /*   */ 1048532, 4},
-{ /*   */ 1048533, 5},
-{ /*   */ 1048534, 6},
-{ /*   */ 1048535, 7},
-{ /*   */ 1048536, 8},
-{ /*   */ 1048537, 10},
-{ /*   */ 1048538, 11},
-{ /*   */ 1048539, 12},
-{ /*   */ 1048540, 13},
-{ /*   */ 1048541, 15},
-{ /*   */ 1048542, 18},
-{ /*   */ 1048543, 20},
-{ /*   */ 1048544, 21},
-{ /*   */ 1048545, 22},
-{ /*   */ 1048546, 24},
-{ /*   */ 1048547, 25},
-{ /*   */ 1048548, 26},
-{ /*   */ 1048549, 28},
-{ /*   */ 1048550, 89},
-{ /*   */ 1048551, 91},
-{ /*   */ 1048552, 92},
-{ /*   */ 1048553, 93},
-{ /*   */ 1048554, 94},
-{ /*   */ 1048555, 95},
-{ /*   */ 1048556, 96},
-{ /*   */ 1048557, 98},
-{ /*   */ 1048558, 99},
-{ /*   */ 1048559, 100},
-{ /*   */ 1048560, 101},
-{ /*   */ 1048561, 103},
-{ /*   */ 1048562, 105},
-{ /*   */ 1048563, 106},
-{ /*   */ 1048564, 109},
-{ /*   */ 1048565, 110},
-{ /*   */ 1048566, 111},
-{ /*   */ 1048567, 112},
-{ /*   */ 1048568, 113},
-{ /*   */ 1048569, 114},
-{ /*   */ 1048570, 115},
-{ /*   */ 1048571, 116},
-{ /*   */ 1048572, 117},
-{ /*   */ 1048573, 118},
-{ /*   */ 1048574, 119},
-{ /*   */ 1048575, 120}
-};
-
-sbr_huff_tab t_huffman_env_bal_1_5dB[] = {
-{ /*   */ 0, 24},
-{ /*   */ 2, 25},
-{ /*   */ 6, 23},
-{ /*   */ 14, 26},
-{ /*   */ 30, 22},
-{ /*   */ 62, 27},
-{ /*   */ 126, 21},
-{ /*   */ 254, 28},
-{ /*   */ 510, 20},
-{ /*   */ 2044, 19},
-{ /*   */ 2045, 29},
-{ /*   */ 4092, 18},
-{ /*   */ 4093, 30},
-{ /*   */ 32752, 31},
-{ /*   */ 65506, 17},
-{ /*   */ 65507, 32},
-{ /*   */ 65508, 0},
-{ /*   */ 65509, 1},
-{ /*   */ 65510, 2},
-{ /*   */ 65511, 3},
-{ /*   */ 65512, 4},
-{ /*   */ 65513, 5},
-{ /*   */ 65514, 6},
-{ /*   */ 65515, 7},
-{ /*   */ 65516, 8},
-{ /*   */ 65517, 9},
-{ /*   */ 65518, 10},
-{ /*   */ 65519, 11},
-{ /*   */ 65520, 12},
-{ /*   */ 65521, 13},
-{ /*   */ 65522, 14},
-{ /*   */ 65523, 15},
-{ /*   */ 65524, 16},
-{ /*   */ 65525, 33},
-{ /*   */ 65526, 34},
-{ /*   */ 65527, 35},
-{ /*   */ 65528, 36},
-{ /*   */ 65529, 37},
-{ /*   */ 65530, 38},
-{ /*   */ 131062, 39},
-{ /*   */ 131063, 40},
-{ /*   */ 131064, 41},
-{ /*   */ 131065, 42},
-{ /*   */ 131066, 43},
-{ /*   */ 131067, 44},
-{ /*   */ 131068, 45},
-{ /*   */ 131069, 46},
-{ /*   */ 131070, 47},
-{ /*   */ 131071, 48}
-};
-
-sbr_huff_tab f_huffman_env_bal_1_5dB[] = {
-{ /*   */ 0, 24},
-{ /*   */ 2, 23},
-{ /*   */ 6, 25},
-{ /*   */ 14, 22},
-{ /*   */ 30, 26},
-{ /*   */ 62, 27},
-{ /*   */ 115, 21},
-{ /*   */ 243, 20},
-{ /*   */ 510, 28},
-{ /*   */ 2044, 19},
-{ /*   */ 2045, 29},
-{ /*   */ 2046, 18},
-{ /*   */ 4094, 30},
-{ /*   */ 16380, 17},
-{ /*   */ 32762, 31},
-{ /*   */ 65526, 32},
-{ /*   */ 65527, 15},
-{ /*   */ 131056, 16},
-{ /*   */ 262114, 0},
-{ /*   */ 262115, 1},
-{ /*   */ 262116, 2},
-{ /*   */ 262117, 3},
-{ /*   */ 262118, 4},
-{ /*   */ 262119, 5},
-{ /*   */ 262120, 6},
-{ /*   */ 262121, 7},
-{ /*   */ 262122, 8},
-{ /*   */ 262123, 9},
-{ /*   */ 262124, 10},
-{ /*   */ 262125, 11},
-{ /*   */ 262126, 12},
-{ /*   */ 262127, 13},
-{ /*   */ 262128, 14},
-{ /*   */ 262129, 33},
-{ /*   */ 262130, 34},
-{ /*   */ 262131, 35},
-{ /*   */ 262132, 36},
-{ /*   */ 262133, 37},
-{ /*   */ 262134, 38},
-{ /*   */ 262135, 39},
-{ /*   */ 262136, 40},
-{ /*   */ 262137, 41},
-{ /*   */ 262138, 42},
-{ /*   */ 262139, 43},
-{ /*   */ 262140, 44},
-{ /*   */ 262141, 45},
-{ /*   */ 262142, 46},
-{ /*   */ 524286, 47},
-{ /*   */ 524287, 48}
-};
-
-sbr_huff_tab t_huffman_env_3_0dB[] = {
-{ /*   */ 0, 31},
-{ /*   */ 2, 30},
-{ /*   */ 6, 32},
-{ /*   */ 14, 29},
-{ /*   */ 30, 33},
-{ /*   */ 62, 28},
-{ /*   */ 126, 34},
-{ /*   */ 254, 27},
-{ /*   */ 510, 35},
-{ /*   */ 2044, 26},
-{ /*   */ 2045, 36},
-{ /*   */ 4092, 25},
-{ /*   */ 8186, 24},
-{ /*   */ 8187, 37},
-{ /*   */ 16376, 23},
-{ /*   */ 16377, 38},
-{ /*   */ 16378, 22},
-{ /*   */ 16379, 21},
-{ /*   */ 16380, 39},
-{ /*   */ 32762, 40},
-{ /*   */ 65526, 41},
-{ /*   */ 65527, 18},
-{ /*   */ 65528, 20},
-{ /*   */ 65529, 19},
-{ /*   */ 131060, 17},
-{ /*   */ 131061, 42},
-{ /*   */ 262124, 43},
-{ /*   */ 262125, 0},
-{ /*   */ 262126, 1},
-{ /*   */ 524254, 2},
-{ /*   */ 524255, 3},
-{ /*   */ 524256, 4},
-{ /*   */ 524257, 5},
-{ /*   */ 524258, 6},
-{ /*   */ 524259, 7},
-{ /*   */ 524260, 8},
-{ /*   */ 524261, 9},
-{ /*   */ 524262, 10},
-{ /*   */ 524263, 11},
-{ /*   */ 524264, 12},
-{ /*   */ 524265, 13},
-{ /*   */ 524266, 14},
-{ /*   */ 524267, 15},
-{ /*   */ 524268, 16},
-{ /*   */ 524269, 44},
-{ /*   */ 524270, 45},
-{ /*   */ 524271, 46},
-{ /*   */ 524272, 47},
-{ /*   */ 524273, 48},
-{ /*   */ 524274, 49},
-{ /*   */ 524275, 50},
-{ /*   */ 524276, 51},
-{ /*   */ 524277, 52},
-{ /*   */ 524278, 53},
-{ /*   */ 524279, 54},
-{ /*   */ 524280, 55},
-{ /*   */ 524281, 56},
-{ /*   */ 524282, 57},
-{ /*   */ 524283, 58},
-{ /*   */ 524284, 59},
-{ /*   */ 524285, 60},
-{ /*   */ 524286, 61},
-{ /*   */ 524287, 62}
-};
-
-sbr_huff_tab f_huffman_env_3_0dB[] = {
-{ /*   */ 0, 31},
-{ /*   */ 2, 30},
-{ /*   */ 6, 32},
-{ /*   */ 14, 29},
-{ /*   */ 30, 33},
-{ /*   */ 62, 28},
-{ /*   */ 252, 34},
-{ /*   */ 253, 27},
-{ /*   */ 508, 35},
-{ /*   */ 509, 26},
-{ /*   */ 1020, 36},
-{ /*   */ 1021, 25},
-{ /*   */ 2044, 37},
-{ /*   */ 2045, 24},
-{ /*   */ 4092, 38},
-{ /*   */ 4093, 23},
-{ /*   */ 8188, 39},
-{ /*   */ 16378, 40},
-{ /*   */ 16379, 22},
-{ /*   */ 32760, 21},
-{ /*   */ 32761, 41},
-{ /*   */ 32762, 42},
-{ /*   */ 65526, 20},
-{ /*   */ 65527, 19},
-{ /*   */ 65528, 43},
-{ /*   */ 65529, 44},
-{ /*   */ 131060, 18},
-{ /*   */ 131061, 16},
-{ /*   */ 131062, 45},
-{ /*   */ 131063, 46},
-{ /*   */ 262128, 17},
-{ /*   */ 262129, 49},
-{ /*   */ 262130, 13},
-{ /*   */ 262131, 7},
-{ /*   */ 262132, 12},
-{ /*   */ 262133, 47},
-{ /*   */ 262134, 48},
-{ /*   */ 524270, 9},
-{ /*   */ 524271, 10},
-{ /*   */ 524272, 15},
-{ /*   */ 524273, 51},
-{ /*   */ 524274, 52},
-{ /*   */ 524275, 53},
-{ /*   */ 524276, 56},
-{ /*   */ 524277, 8},
-{ /*   */ 524278, 11},
-{ /*   */ 524279, 55},
-{ /*   */ 1048560, 0},
-{ /*   */ 1048561, 1},
-{ /*   */ 1048562, 2},
-{ /*   */ 1048563, 3},
-{ /*   */ 1048564, 4},
-{ /*   */ 1048565, 5},
-{ /*   */ 1048566, 6},
-{ /*   */ 1048567, 14},
-{ /*   */ 1048568, 50},
-{ /*   */ 1048569, 54},
-{ /*   */ 1048570, 57},
-{ /*   */ 1048571, 58},
-{ /*   */ 1048572, 59},
-{ /*   */ 1048573, 60},
-{ /*   */ 1048574, 61},
-{ /*   */ 1048575, 62}
-};
-
-sbr_huff_tab t_huffman_env_bal_3_0dB[] = {
-{ /*   */ 0, 12},
-{ /*   */ 2, 13},
-{ /*   */ 6, 11},
-{ /*   */ 14, 10},
-{ /*   */ 30, 14},
-{ /*   */ 62, 15},
-{ /*   */ 126, 9},
-{ /*   */ 254, 8},
-{ /*   */ 510, 16},
-{ /*   */ 4088, 7},
-{ /*   */ 8178, 0},
-{ /*   */ 8179, 1},
-{ /*   */ 8180, 2},
-{ /*   */ 8181, 3},
-{ /*   */ 8182, 4},
-{ /*   */ 8183, 5},
-{ /*   */ 8184, 6},
-{ /*   */ 8185, 17},
-{ /*   */ 8186, 18},
-{ /*   */ 8187, 19},
-{ /*   */ 8188, 20},
-{ /*   */ 8189, 21},
-{ /*   */ 8190, 22},
-{ /*   */ 16382, 23},
-{ /*   */ 16383, 24}
-};
-
-sbr_huff_tab f_huffman_env_bal_3_0dB[] = {
-{ /*   */ 0, 12},
-{ /*   */ 2, 11},
-{ /*   */ 6, 13},
-{ /*   */ 14, 10},
-{ /*   */ 30, 14},
-{ /*   */ 62, 15},
-{ /*   */ 126, 9},
-{ /*   */ 254, 8},
-{ /*   */ 510, 16},
-{ /*   */ 2044, 7},
-{ /*   */ 4090, 17},
-{ /*   */ 8182, 18},
-{ /*   */ 8183, 0},
-{ /*   */ 8184, 1},
-{ /*   */ 8185, 2},
-{ /*   */ 8186, 3},
-{ /*   */ 8187, 4},
-{ /*   */ 16376, 5},
-{ /*   */ 16377, 6},
-{ /*   */ 16378, 19},
-{ /*   */ 16379, 20},
-{ /*   */ 16380, 21},
-{ /*   */ 16381, 22},
-{ /*   */ 16382, 23},
-{ /*   */ 16383, 24}
-};
-
-sbr_huff_tab t_huffman_noise_3_0dB[] = {
-{ /*   */ 0, 31},
-{ /*   */ 2, 32},
-{ /*   */ 6, 30},
-{ /*   */ 14, 29},
-{ /*   */ 30, 33},
-{ /*   */ 62, 28},
-{ /*   */ 252, 34},
-{ /*   */ 253, 27},
-{ /*   */ 1016, 35},
-{ /*   */ 2034, 26},
-{ /*   */ 8140, 36},
-{ /*   */ 8141, 42},
-{ /*   */ 8142, 0},
-{ /*   */ 8143, 1},
-{ /*   */ 8144, 2},
-{ /*   */ 8145, 3},
-{ /*   */ 8146, 4},
-{ /*   */ 8147, 5},
-{ /*   */ 8148, 6},
-{ /*   */ 8149, 7},
-{ /*   */ 8150, 8},
-{ /*   */ 8151, 9},
-{ /*   */ 8152, 10},
-{ /*   */ 8153, 11},
-{ /*   */ 8154, 12},
-{ /*   */ 8155, 13},
-{ /*   */ 8156, 14},
-{ /*   */ 8157, 15},
-{ /*   */ 8158, 16},
-{ /*   */ 8159, 17},
-{ /*   */ 8160, 18},
-{ /*   */ 8161, 19},
-{ /*   */ 8162, 20},
-{ /*   */ 8163, 21},
-{ /*   */ 8164, 22},
-{ /*   */ 8165, 23},
-{ /*   */ 8166, 24},
-{ /*   */ 8167, 25},
-{ /*   */ 8168, 37},
-{ /*   */ 8169, 38},
-{ /*   */ 8170, 39},
-{ /*   */ 8171, 40},
-{ /*   */ 8172, 41},
-{ /*   */ 8173, 43},
-{ /*   */ 8174, 44},
-{ /*   */ 8175, 45},
-{ /*   */ 8176, 46},
-{ /*   */ 8177, 47},
-{ /*   */ 8178, 48},
-{ /*   */ 8179, 49},
-{ /*   */ 8180, 50},
-{ /*   */ 8181, 51},
-{ /*   */ 8182, 52},
-{ /*   */ 8183, 53},
-{ /*   */ 8184, 54},
-{ /*   */ 8185, 55},
-{ /*   */ 8186, 56},
-{ /*   */ 8187, 57},
-{ /*   */ 8188, 58},
-{ /*   */ 8189, 59},
-{ /*   */ 8190, 60},
-{ /*   */ 16382, 61},
-{ /*   */ 16383, 62}
-};
-
-sbr_huff_tab t_huffman_noise_bal_3_0dB[] = {
-{ /*   */ 0, 12},
-{ /*   */ 2, 11},
-{ /*   */ 6, 13},
-{ /*   */ 28, 10},
-{ /*   */ 58, 14},
-{ /*   */ 236, 0},
-{ /*   */ 237, 1},
-{ /*   */ 238, 2},
-{ /*   */ 239, 3},
-{ /*   */ 240, 4},
-{ /*   */ 241, 5},
-{ /*   */ 242, 6},
-{ /*   */ 243, 7},
-{ /*   */ 244, 8},
-{ /*   */ 245, 9},
-{ /*   */ 246, 15},
-{ /*   */ 247, 16},
-{ /*   */ 248, 17},
-{ /*   */ 249, 18},
-{ /*   */ 250, 19},
-{ /*   */ 251, 20},
-{ /*   */ 252, 21},
-{ /*   */ 253, 22},
-{ /*   */ 254, 23},
-{ /*   */ 255, 24}
-};
-
-sbr_huff_tab *f_huffman_noise_3_0dB = t_huffman_noise_3_0dB;
-sbr_huff_tab *f_huffman_noise_bal_3_0dB = t_huffman_noise_bal_3_0dB;
-
-#endif
--- a/libfaad/sbr_huff.h
+++ /dev/null
@@ -1,55 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**  
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-** 
-** This program 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 General Public License for more details.
-** 
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: sbr_huff.h,v 1.3 2002/09/29 22:19:48 menno Exp $
-**/
-
-#ifndef __SBR_HUFF_H__
-#define __SBR_HUFF_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct
-{
-    uint32_t codeword;
-    uint16_t index;
-} sbr_huff_tab;
-
-
-uint16_t sbr_huff_dec(bitfile *ld, sbr_huff_tab *t_huff);
-
-sbr_huff_tab t_huffman_env_1_5dB[];
-sbr_huff_tab f_huffman_env_1_5dB[];
-sbr_huff_tab t_huffman_env_bal_1_5dB[];
-sbr_huff_tab f_huffman_env_bal_1_5dB[];
-sbr_huff_tab t_huffman_env_3_0dB[];
-sbr_huff_tab f_huffman_env_3_0dB[];
-sbr_huff_tab t_huffman_env_bal_3_0dB[];
-sbr_huff_tab f_huffman_env_bal_3_0dB[];
-sbr_huff_tab t_huffman_noise_3_0dB[];
-sbr_huff_tab *f_huffman_noise_3_0dB;
-sbr_huff_tab t_huffman_noise_bal_3_0dB[];
-sbr_huff_tab *f_huffman_noise_bal_3_0dB;
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
--- a/libfaad/sbr_qmf.c
+++ /dev/null
@@ -1,154 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-**
-** This program 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 General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: sbr_qmf.c,v 1.3 2002/09/29 22:19:48 menno Exp $
-**/
-
-#include "common.h"
-
-#ifdef SBR
-
-#include "sbr_qmf.h"
-
-void sbr_qmf_analysis(real_t *input, real_t *x, complex_t **Xlow)
-{
-    uint8_t l;
-    real_t z[320], u[64];
-    real_t *inptr = input;
-
-    /* qmf subsample l */
-    for (l = 0; l < 32; l++)
-    {
-        uint8_t k;
-        int16_t n;
-
-        /* shift input buffer x */
-        for (n = 320 - 1; n <= 0; n--)
-        {
-            x[n] = x[n - 32];
-        }
-
-        /* add new samples to input buffer x */
-        for (n = 32 - 1; n <= 0; n--)
-        {
-            x[n] = *inptr++;
-        }
-
-        /* window by 320 coefficients to produce array z */
-        for (n = 0; n < 320; n++)
-        {
-            z[n] = x[n] * qmf_c[2*n];
-        }
-
-        /* summation to create array u */
-        for (n = 0; n < 64; n++)
-        {
-            uint8_t j;
-
-            u[n] = 0.0;
-            for (j = 0; j < 4; j++)
-            {
-                u[n] += z[n + j * 64];
-            }
-        }
-
-        /* calculate 32 subband samples by introducing Xlow */
-        for (k = 0; k < 32; k++)
-        {
-            RE(Xlow[k][l]) = 0.0;
-            IM(Xlow[k][l]) = 0.0;
-
-            for (n = 0; n < 64; n++)
-            {
-                /* complex exponential
-                Xlow[k][l] += 2.0 * u[n] * exp(i*M_PI/64.0 * (k + 0.5) * (2.0*n - 0.5));
-                */
-                RE(Xlow[k][l]) += 2.0 * u[n] * cos(M_PI/64.0 * (k + 0.5) * (2.0*n - 0.5));
-                IM(Xlow[k][l]) += 2.0 * u[n] * sin(M_PI/64.0 * (k + 0.5) * (2.0*n - 0.5));
-            }
-        }
-    }
-}
-
-void sbr_qmf_synthesis(complex_t **Xlow, real_t *v, real_t *output)
-{
-    uint8_t l, k;
-    int16_t n;
-    real_t w[640];
-    real_t *outptr = output;
-
-    /* qmf subsample l */
-    for (l = 0; l < 32; l++)
-    {
-        /* shift buffer */
-        for (n = 1280-1; n <= 128; n--)
-        {
-            v[n] = v[n - 128];
-        }
-
-        /* calculate 128 samples */
-        for (n = 0; n < 128; n++)
-        {
-            v[n] = 0;
-
-            for (k = 0; k < 64; k++)
-            {
-                complex_t vc;
-
-                /* complex exponential
-                vc = 64.0 * sin(i*M_PI/128.0 * (k + 0.5) * (2.0*n - 255.0));
-                */
-                RE(vc) = 64.0 * cos(M_PI/128.0 * (k + 0.5) * (2.0*n - 255.0));
-                IM(vc) = 64.0 * sin(M_PI/128.0 * (k + 0.5) * (2.0*n - 255.0));
-
-                /* take the real part only */
-                v[n] += RE(Xlow[k][l]) * RE(vc) - IM(Xlow[k][l]) * IM(vc);
-            }
-        }
-
-        for (n = 0; n < 4; n++)
-        {
-            for (k = 0; k < 64; k++)
-            {
-                w[128 * n +      k] = v[256 * n +       k];
-                w[128 * n + 64 + k] = v[256 * n + 192 + k];
-            }
-        }
-
-        /* window */
-        for (n = 0; n < 640; n++)
-        {
-            w[n] *= qmf_c[n];
-        }
-
-        /* calculate 64 output samples */
-        for (k = 0; k < 64; k++)
-        {
-            real_t sample = 0.0;
-
-            for (n = 0; n < 9; n++)
-            {
-                sample += w[64 * n + k];
-            }
-
-            *outptr++ = sample;
-        }
-    }
-}
-
-#endif
\ No newline at end of file
--- a/libfaad/sbr_qmf.h
+++ /dev/null
@@ -1,172 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**  
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-** 
-** This program 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 General Public License for more details.
-** 
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: sbr_qmf.h,v 1.3 2002/09/29 22:19:48 menno Exp $
-**/
-
-#ifndef __SBR_QMF_H__
-#define __SBR_QMF_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void sbr_qmf_analysis(real_t *input, complex_t **Xlow);
-void sbr_qmf_synthesis(complex_t **Xlow, real_t *output);
-
-#ifdef _MSC_VER
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#endif
-
-static real_t qmf_c[] = {
-    0.0000000000, -0.0005525286, -0.0005617692, -0.0004947518, -0.0004875227,
-    -0.0004893791, -0.0005040714, -0.0005226564, -0.0005466565, -0.0005677802,
-    -0.0005870930, -0.0006132747, -0.0006312493, -0.0006540333, -0.0006777690,
-    -0.0006941614, -0.0007157736, -0.0007255043, -0.0007440941, -0.0007490598,
-    -0.0007681371, -0.0007724848, -0.0007834332, -0.0007779869, -0.0007803664,
-    -0.0007801449, -0.0007757977, -0.0007630793, -0.0007530001, -0.0007319357,
-    -0.0007215391, -0.0006917937, -0.0006650415, -0.0006341594, -0.0005946118,
-    -0.0005564576, -0.0005145572, -0.0004606325, -0.0004095121, -0.0003501175,
-    -0.0002896981, -0.0002098337, -0.0001446380, -0.0000617334, 0.0000134949,
-    0.0001094383, 0.0002043017, 0.0002949531, 0.0004026540, 0.0005107388, 
-    0.0006239376, 0.0007458025, 0.0008608443, 0.0009885988, 0.0011250155, 
-    0.0012577884, 0.0013902494, 0.0015443219, 0.0016868083, 0.0018348265,
-    0.0019841140, 0.0021461583, 0.0023017254, 0.0024625616, 0.0026201758,
-    0.0027870464, 0.0029469447, 0.0031125420, 0.0032739613, 0.0034418874,
-    0.0036008268, 0.0037603922, 0.0039207432, 0.0040819753, 0.0042264269,
-    0.0043730719, 0.0045209852, 0.0046606460, 0.0047932560, 0.0049137603,
-    0.0050393022, 0.0051407353, 0.0052461166, 0.0053471681, 0.0054196775,
-    0.0054876040, 0.0055475714, 0.0055938023, 0.0056220643, 0.0056455196,
-    0.0056389199, 0.0056266114, 0.0055917128, 0.0055404363, 0.0054753783,
-    0.0053838975, 0.0052715758, 0.0051382275, 0.0049839687, 0.0048109469,
-    0.0046039530, 0.0043801861, 0.0041251642, 0.0038456408, 0.0035401246,
-    0.0032091885, 0.0028446757, 0.0024508540, 0.0020274176, 0.0015784682,
-    0.0010902329, 0.0005832264, 0.0000276045, -0.0005464280, -0.0011568135,
-    -0.0018039472, -0.0024826723, -0.0031933778, -0.0039401124, -0.0047222596,
-    -0.0055337211, -0.0063792293, -0.0072615816, -0.0081798233, -0.0091325329,
-    -0.0101150215, -0.0111315548, -0.0121849995, 0.0132718220, 0.0143904666,
-    0.0155405553, 0.0167324712, 0.0179433381, 0.0191872431, 0.0204531793,
-    0.0217467550, 0.0230680169, 0.0244160992, 0.0257875847, 0.0271859429,
-    0.0286072173, 0.0300502657, 0.0315017608, 0.0329754081, 0.0344620948,
-    0.0359697560, 0.0374812850, 0.0390053679, 0.0405349170, 0.0420649094,
-    0.0436097542, 0.0451488405, 0.0466843027, 0.0482165720, 0.0497385755,
-    0.0512556155, 0.0527630746, 0.0542452768, 0.0557173648, 0.0571616450,
-    0.0585915683, 0.0599837480, 0.0613455171, 0.0626857808, 0.0639715898,
-    0.0652247106, 0.0664367512, 0.0676075985, 0.0687043828, 0.0697630244,
-    0.0707628710, 0.0717002673, 0.0725682583, 0.0733620255, 0.0741003642,
-    0.0747452558, 0.0753137336, 0.0758008358, 0.0761992479, 0.0764992170,
-    0.0767093490, 0.0768173975, 0.0768230011, 0.0767204924, 0.0765050718,
-    0.0761748321, 0.0757305756, 0.0751576255, 0.0744664394, 0.0736406005,
-    0.0726774642, 0.0715826364, 0.0703533073, 0.0689664013, 0.0674525021,
-    0.0657690668, 0.0639444805, 0.0619602779, 0.0598166570, 0.0575152691,
-    0.0550460034, 0.0524093821, 0.0495978676, 0.0466303305, 0.0434768782,
-    0.0401458278, 0.0366418116, 0.0329583930, 0.0290824006, 0.0250307561,
-    0.0207997072, 0.0163701258, 0.0117623832, 0.0069636862, 0.0019765601,
-    -0.0032086896, -0.0085711749, -0.0141288827, -0.0198834129, -0.0258227288,
-    -0.0319531274, -0.0382776572, -0.0447806821, -0.0514804176, -0.0583705326,
-    -0.0654409853, -0.0726943300, -0.0801372934, -0.0877547536, -0.0955533352,
-    -0.1035329531, -0.1116826931, -0.1200077984, -0.1285002850, -0.1371551761,
-    -0.1459766491, -0.1549607071, -0.1640958855, -0.1733808172, -0.1828172548,
-    -0.1923966745, -0.2021250176, -0.2119735853, -0.2219652696, -0.2320690870,
-    -0.2423016884, -0.2526480309, -0.2631053299, -0.2736634040, -0.2843214189,
-    -0.2950716717, -0.3059098575, -0.3168278913, -0.3278113727, -0.3388722693,
-    -0.3499914122, 0.3611589903, 0.3723795546, 0.3836350013, 0.3949211761,
-    0.4062317676, 0.4175696896, 0.4289119920, 0.4402553754, 0.4515996535,
-    0.4629308085, 0.4742453214, 0.4855253091, 0.4967708254, 0.5079817500,
-    0.5191234970, 0.5302240895, 0.5412553448, 0.5522051258, 0.5630789140, 
-    0.5738524131, 0.5845403235, 0.5951123086, 0.6055783538, 0.6159109932,
-    0.6261242695, 0.6361980107, 0.6461269695, 0.6559016302, 0.6655139880,
-    0.6749663190, 0.6842353293, 0.6933282376, 0.7022388719, 0.7109410426,
-    0.7194462634, 0.7277448900, 0.7358211758, 0.7436827863, 0.7513137456,
-    0.7587080760, 0.7658674865, 0.7727780881, 0.7794287519, 0.7858353120,
-    0.7919735841, 0.7978466413, 0.8034485751, 0.8087695004, 0.8138191270,
-    0.8185776004, 0.8230419890, 0.8272275347, 0.8311038457, 0.8346937361,
-    0.8379717337, 0.8409541392, 0.8436238281, 0.8459818469, 0.8480315777,
-    0.8497805198, 0.8511971524, 0.8523047035, 0.8531020949, 0.8535720573,
-    0.8537385600, 0.8535720573, 0.8531020949, 0.8523047035, 0.8511971524,
-    0.8497805198, 0.8480315777, 0.8459818469, 0.8436238281, 0.8409541392,
-    0.8379717337, 0.8346937361, 0.8311038457, 0.8272275347, 0.8230419890,
-    0.8185776004, 0.8138191270, 0.8087695004, 0.8034485751, 0.7978466413,
-    0.7919735841, 0.7858353120, 0.7794287519, 0.7727780881, 0.7658674865,
-    0.7587080760, 0.7513137456, 0.7436827863, 0.7358211758, 0.7277448900,
-    0.7194462634, 0.7109410426, 0.7022388719, 0.6933282376, 0.6842353293,
-    0.6749663190, 0.6655139880, 0.6559016302, 0.6461269695, 0.6361980107,
-    0.6261242695, 0.6159109932, 0.6055783538, 0.5951123086, 0.5845403235,
-    0.5738524131, 0.5630789140, 0.5522051258, 0.5412553448, 0.5302240895,
-    0.5191234970, 0.5079817500, 0.4967708254, 0.4855253091, 0.4742453214,
-    0.4629308085, 0.4515996535, 0.4402553754, 0.4289119920, 0.4175696896,
-    0.4062317676, 0.3949211761, 0.3836350013, 0.3723795546, -0.3611589903,
-    -0.3499914122, -0.3388722693, -0.3278113727, -0.3168278913, -0.3059098575,
-    -0.2950716717, -0.2843214189, -0.2736634040, -0.2631053299, -0.2526480309,
-    -0.2423016884, -0.2320690870, -0.2219652696, -0.2119735853, -0.2021250176,
-    -0.1923966745, -0.1828172548, -0.1733808172, -0.1640958855, -0.1549607071,
-    -0.1459766491, -0.1371551761, -0.1285002850, -0.1200077984, -0.1116826931,
-    -0.1035329531, -0.0955533352, -0.0877547536, -0.0801372934, -0.0726943300,
-    -0.0654409853, -0.0583705326, -0.0514804176, -0.0447806821, -0.0382776572,
-    -0.0319531274, -0.0258227288, -0.0198834129, -0.0141288827, -0.0085711749,
-    -0.0032086896, 0.0019765601, 0.0069636862, 0.0117623832, 0.0163701258,
-    0.0207997072, 0.0250307561, 0.0290824006, 0.0329583930, 0.0366418116,
-    0.0401458278, 0.0434768782, 0.0466303305, 0.0495978676, 0.0524093821,
-    0.0550460034, 0.0575152691, 0.0598166570, 0.0619602779, 0.0639444805,
-    0.0657690668, 0.0674525021, 0.0689664013, 0.0703533073, 0.0715826364,
-    0.0726774642, 0.0736406005, 0.0744664394, 0.0751576255, 0.0757305756,
-    0.0761748321, 0.0765050718, 0.0767204924, 0.0768230011, 0.0768173975,
-    0.0767093490, 0.0764992170, 0.0761992479, 0.0758008358, 0.0753137336,
-    0.0747452558, 0.0741003642, 0.0733620255, 0.0725682583, 0.0717002673,
-    0.0707628710, 0.0697630244, 0.0687043828, 0.0676075985, 0.0664367512,
-    0.0652247106, 0.0639715898, 0.0626857808, 0.0613455171, 0.0599837480,
-    0.0585915683, 0.0571616450, 0.0557173648, 0.0542452768, 0.0527630746,
-    0.0512556155, 0.0497385755, 0.0482165720, 0.0466843027, 0.0451488405,
-    0.0436097542, 0.0420649094, 0.0405349170, 0.0390053679, 0.0374812850,
-    0.0359697560, 0.0344620948, 0.0329754081, 0.0315017608, 0.0300502657,
-    0.0286072173, 0.0271859429, 0.0257875847, 0.0244160992, 0.0230680169,
-    0.0217467550, 0.0204531793, 0.0191872431, 0.0179433381, 0.0167324712,
-    0.0155405553, 0.0143904666, -0.0132718220, -0.0121849995, -0.0111315548,
-    -0.0101150215, -0.0091325329, -0.0081798233, -0.0072615816, -0.0063792293,
-    -0.0055337211, -0.0047222596, -0.0039401124, -0.0031933778, -0.0024826723,
-    -0.0018039472, -0.0011568135, -0.0005464280, 0.0000276045, 0.0005832264,
-    0.0010902329, 0.0015784682, 0.0020274176, 0.0024508540, 0.0028446757,
-    0.0032091885, 0.0035401246, 0.0038456408, 0.0041251642, 0.0043801861,
-    0.0046039530, 0.0048109469, 0.0049839687, 0.0051382275, 0.0052715758,
-    0.0053838975, 0.0054753783, 0.0055404363, 0.0055917128, 0.0056266114,
-    0.0056389199, 0.0056455196, 0.0056220643, 0.0055938023, 0.0055475714,
-    0.0054876040, 0.0054196775, 0.0053471681, 0.0052461166, 0.0051407353,
-    0.0050393022, 0.0049137603, 0.0047932560, 0.0046606460, 0.0045209852,
-    0.0043730719, 0.0042264269, 0.0040819753, 0.0039207432, 0.0037603922,
-    0.0036008268, 0.0034418874, 0.0032739613, 0.0031125420, 0.0029469447,
-    0.0027870464, 0.0026201758, 0.0024625616, 0.0023017254, 0.0021461583,
-    0.0019841140, 0.0018348265, 0.0016868083, 0.0015443219, 0.0013902494,
-    0.0012577884, 0.0011250155, 0.0009885988, 0.0008608443, 0.0007458025,
-    0.0006239376, 0.0005107388, 0.0004026540, 0.0002949531, 0.0002043017,
-    0.0001094383, 0.0000134949, -0.0000617334, -0.0001446380, -0.0002098337,
-    -0.0002896981, -0.0003501175, -0.0004095121, -0.0004606325, -0.0005145572,
-    -0.0005564576, -0.0005946118, -0.0006341594, -0.0006650415, -0.0006917937,
-    -0.0007215391, -0.0007319357, -0.0007530001, -0.0007630793, -0.0007757977,
-    -0.0007801449, -0.0007803664, -0.0007779869, -0.0007834332, -0.0007724848,
-    -0.0007681371, -0.0007490598, -0.0007440941, -0.0007255043, -0.0007157736,
-    -0.0006941614, -0.0006777690, -0.0006540333, -0.0006312493, -0.0006132747,
-    -0.0005870930, -0.0005677802, -0.0005466565, -0.0005226564, -0.0005040714,
-    -0.0004893791, -0.0004875227, -0.0004947518, -0.0005617692, -0.000552528
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
--- a/libfaad/sbr_syntax.c
+++ /dev/null
@@ -1,624 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**  
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-** 
-** This program 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 General Public License for more details.
-** 
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: sbr_syntax.c,v 1.5 2002/09/29 22:19:48 menno Exp $
-**/
-
-/*
-   This is the initial support for MPEG-4 AAC+SBR
-
-   All data is taken from the Working Draft Text for Backward Compatible
-   Bandwidth Extension for General Audio Coding (N4611)
-*/
-
-/*
-    Mind the sbr_extension() function, it is not defined in the text
-    obviously it just reads some bytes.
- */
-
-
-#include "common.h"
-
-#ifdef SBR
-
-#include "sbr_syntax.h"
-#include "syntax.h"
-#include "sbr_huff.h"
-#include "bits.h"
-#include "analysis.h"
-
-/* table 2 */
-uint8_t sbr_bitstream(bitfile *ld, sbr_info *sbr, uint8_t id_aac,
-                      uint8_t bs_extension_type)
-{
-    sbr->bs_crc_flag = faad_get1bit(ld
-        DEBUGVAR(1,200,"sbr_bitstream(): bs_crc_flag"));
-    if (sbr->bs_crc_flag)
-    {
-        sbr->bs_sbr_crc_bits = faad_getbits(ld, 7
-            DEBUGVAR(1,201,"sbr_bitstream(): bs_sbr_crc_bits"));
-    }
-
-    if (bs_extension_type == SBR_HDR)
-    {
-        sbr_header(ld, sbr, id_aac);
-        sbr_data(ld, sbr, id_aac);
-    } else if (bs_extension_type == SBR_STD) {
-        sbr_data(ld, sbr, id_aac);
-    }
-
-    /* no error */
-    return 0;
-}
-
-/* table 3 */
-static void sbr_header(bitfile *ld, sbr_info *sbr, uint8_t id_aac)
-{
-    uint8_t bs_header_extra_1, bs_header_extra_2;
-
-    sbr->bs_protocol_version = faad_getbits(ld, 2
-        DEBUGVAR(1,202,"sbr_header(): bs_protocol_version"));
-    sbr->bs_amp_res = faad_get1bit(ld
-        DEBUGVAR(1,203,"sbr_header(): bs_amp_res"));
-    sbr->bs_start_freq = faad_getbits(ld, 4
-        DEBUGVAR(1,204,"sbr_header(): bs_start_freq"));
-    sbr->bs_stop_freq = faad_getbits(ld, 4
-        DEBUGVAR(1,205,"sbr_header(): bs_stop_freq"));
-    sbr->bs_xover_band = faad_getbits(ld, 3
-        DEBUGVAR(1,206,"sbr_header(): bs_xover_band"));
-    faad_getbits(ld, 3
-        DEBUGVAR(1,207,"sbr_header(): bs_reserved"));
-    bs_header_extra_1 = faad_get1bit(ld
-        DEBUGVAR(1,208,"sbr_header(): bs_header_extra_1"));
-    bs_header_extra_2 = faad_get1bit(ld
-        DEBUGVAR(1,209,"sbr_header(): bs_header_extra_2"));
-
-    if (id_aac == ID_SCE)
-    {
-        faad_getbits(ld, 2
-           DEBUGVAR(1,210,"sbr_header(): bs_reserved"));
-    }
-
-    if (bs_header_extra_1)
-    {
-        sbr->bs_freq_scale = faad_getbits(ld, 2
-            DEBUGVAR(1,211,"sbr_header(): bs_freq_scale"));
-        sbr->bs_alter_scale = faad_get1bit(ld
-            DEBUGVAR(1,212,"sbr_header(): bs_alter_scale"));
-        sbr->bs_noise_bands = faad_getbits(ld, 2
-            DEBUGVAR(1,213,"sbr_header(): bs_noise_bands"));
-    }
-    if (bs_header_extra_2)
-    {
-        sbr->bs_limiter_bands = faad_getbits(ld, 2
-            DEBUGVAR(1,214,"sbr_header(): bs_limiter_bands"));
-        sbr->bs_limiter_gains = faad_getbits(ld, 2
-            DEBUGVAR(1,215,"sbr_header(): bs_limiter_gains"));
-        sbr->bs_interpol_freq = faad_get1bit(ld
-            DEBUGVAR(1,216,"sbr_header(): bs_interpol_freq"));
-        sbr->bs_smoothing_mode = faad_get1bit(ld
-            DEBUGVAR(1,217,"sbr_header(): bs_smoothing_mode"));
-        faad_get1bit(ld
-            DEBUGVAR(1,218,"sbr_header(): bs_reserved"));
-    }
-
-    /* if these are different from the previous frame: Reset = 1 */
-    if (bs_start_freq
-        bs_stop_freq
-        bs_freq_scale
-        bs_alter_scale
-        bs_xover_band
-        bs_noise_bands
-        )
-    {
-        Reset = 1
-    }
-}
-
-/* table 4 */
-static void sbr_data(bitfile *ld, sbr_info *sbr, uint8_t id_aac)
-{
-    sbr->bs_samplerate_mode = faad_get1bit(ld
-        DEBUGVAR(1,219,"sbr_data(): bs_samplerate_mode"));
-
-    switch (id_aac)
-    {
-    case ID_SCE:
-        sbr_single_channel_element(ld, sbr);
-        break;
-    case ID_CPE:
-        sbr_channel_pair_element(ld, sbr);
-        break;
-    }
-}
-
-/* table 5 */
-static void sbr_single_channel_element(bitfile *ld, sbr_info *sbr)
-{
-    faad_get1bit(ld
-        DEBUGVAR(1,220,"sbr_single_channel_element(): bs_reserved"));
-
-    sbr_grid(ld, sbr, 0);
-    sbr_dtdf(ld, sbr, 0);
-    invf_mode(ld, sbr, 0);
-
-    faad_getbits(ld, 2
-        DEBUGVAR(1,221,"sbr_single_channel_element(): bs_reserved"));
-
-    sbr_envelope(ld, sbr, 0);
-    sbr_noise(ld, sbr, 0);
-
-    faad_get1bit(ld
-        DEBUGVAR(1,222,"sbr_single_channel_element(): bs_reserved"));
-
-    faad_get1bit(ld
-        DEBUGVAR(1,222,"sbr_single_channel_element(): bs_reserved"));
-
-    sbr->bs_add_harmonic_flag[0] = faad_get1bit(ld
-        DEBUGVAR(1,223,"sbr_single_channel_element(): bs_add_harmonic_flag[0]"));
-    if (sbr->bs_add_harmonic_flag[0])
-        sinusoidal_coding(ld, sbr, 0);
-
-    sbr->bs_extended_data[0] = faad_get1bit(ld
-        DEBUGVAR(1,224,"sbr_single_channel_element(): bs_extended_data[0]"));
-    if (sbr->bs_extended_data[0])
-    {
-        uint16_t nr_bits_left;
-        uint16_t cnt = faad_getbits(ld, 4
-            DEBUGVAR(1,225,"sbr_single_channel_element(): bs_extension_size"));
-        if (cnt == 15)
-        {
-            cnt += faad_getbits(ld, 8
-                DEBUGVAR(1,226,"sbr_single_channel_element(): bs_esc_count"));
-        }
-
-        nr_bits_left = 8 * cnt;
-        while (nr_bits_left > 7)
-        {
-            sbr->bs_extension_id = faad_getbits(ld, 2
-                DEBUGVAR(1,227,"sbr_single_channel_element(): bs_extension_id"));
-            nr_bits_left -= 2;
-            /* sbr_extension(ld, sbr, 0, nr_bits_left); */
-            faad_getbits(ld, 6
-                DEBUGVAR(1,279,"sbr_single_channel_element(): bs_extension_data"));
-        }
-    }
-}
-
-/* table 6 */
-static void sbr_channel_pair_element(bitfile *ld, sbr_info *sbr)
-{
-    sbr->bs_coupling = faad_get1bit(ld
-        DEBUGVAR(1,228,"sbr_channel_pair_element(): bs_coupling"));
-
-    if (sbr->bs_coupling)
-    {
-        sbr_grid(ld, sbr, 0);
-        sbr_dtdf(ld, sbr, 0);
-        sbr_dtdf(ld, sbr, 1);
-        invf_mode(ld, sbr, 0);
-
-        faad_getbits(ld, 2
-            DEBUGVAR(1,229,"sbr_channel_pair_element(): bs_reserved"));
-
-        sbr_envelope(ld, sbr, 0);
-        sbr_noise(ld, sbr, 0);
-        sbr_envelope(ld, sbr, 1);
-        sbr_noise(ld, sbr, 1);
-
-        faad_getbits(ld, 2
-            DEBUGVAR(1,230,"sbr_channel_pair_element(): bs_reserved"));
-
-        sbr->bs_add_harmonic_flag[0] = faad_get1bit(ld
-            DEBUGVAR(1,231,"sbr_channel_pair_element(): bs_add_harmonic_flag[0]"));
-        if (sbr->bs_add_harmonic_flag[0])
-            sinusoidal_coding(ld, sbr, 0);
-
-        sbr->bs_add_harmonic_flag[1] = faad_get1bit(ld
-            DEBUGVAR(1,232,"sbr_channel_pair_element(): bs_add_harmonic_flag[1]"));
-        if (sbr->bs_add_harmonic_flag[1])
-            sinusoidal_coding(ld, sbr, 1);
-
-        sbr->bs_extended_data[0] = faad_get1bit(ld
-            DEBUGVAR(1,233,"sbr_channel_pair_element(): bs_extended_data[0]"));
-        if (sbr->bs_extended_data[0])
-        {
-            uint16_t nr_bits_left;
-            uint16_t cnt = faad_getbits(ld, 4
-                DEBUGVAR(1,234,"sbr_channel_pair_element(): bs_extension_size"));
-            if (cnt == 15)
-            {
-                cnt += faad_getbits(ld, 8
-                    DEBUGVAR(1,235,"sbr_channel_pair_element(): bs_esc_count"));
-            }
-
-            nr_bits_left = 8 * cnt;
-            while (nr_bits_left > 7)
-            {
-                sbr->bs_extension_id = faad_getbits(ld, 2
-                    DEBUGVAR(1,236,"sbr_channel_pair_element(): bs_extension_id"));
-                nr_bits_left -= 2;
-                /* sbr_extension(ld, sbr, 0, nr_bits_left); */
-                faad_getbits(ld, 6
-                    DEBUGVAR(1,280,"sbr_single_channel_element(): bs_extension_data"));
-            }
-        }
-    } else {
-        sbr_grid(ld, sbr, 0);
-        sbr_grid(ld, sbr, 1);
-        sbr_dtdf(ld, sbr, 0);
-        sbr_dtdf(ld, sbr, 1);
-        invf_mode(ld, sbr, 0);
-        invf_mode(ld, sbr, 1);
-
-        faad_getbits(ld, 4
-            DEBUGVAR(1,237,"sbr_channel_pair_element(): bs_reserved"));
-
-        sbr_envelope(ld, sbr, 0);
-        sbr_envelope(ld, sbr, 1);
-        sbr_noise(ld, sbr, 0);
-        sbr_noise(ld, sbr, 1);
-
-        faad_getbits(ld, 2
-            DEBUGVAR(1,238,"sbr_channel_pair_element(): bs_reserved"));
-
-        sbr->bs_add_harmonic_flag[0] = faad_get1bit(ld
-            DEBUGVAR(1,239,"sbr_channel_pair_element(): bs_add_harmonic_flag[0]"));
-        if (sbr->bs_add_harmonic_flag[0])
-            sinusoidal_coding(ld, sbr, 0);
-
-        sbr->bs_add_harmonic_flag[1] = faad_get1bit(ld
-            DEBUGVAR(1,240,"sbr_channel_pair_element(): bs_add_harmonic_flag[1]"));
-        if (sbr->bs_add_harmonic_flag[1])
-            sinusoidal_coding(ld, sbr, 1);
-
-        sbr->bs_extended_data[0] = faad_get1bit(ld
-            DEBUGVAR(1,241,"sbr_channel_pair_element(): bs_extended_data[0]"));
-        if (sbr->bs_extended_data[0])
-        {
-            uint16_t nr_bits_left;
-            uint16_t cnt = faad_getbits(ld, 4
-                DEBUGVAR(1,242,"sbr_channel_pair_element(): bs_extension_size"));
-            if (cnt == 15)
-            {
-                cnt += faad_getbits(ld, 8
-                    DEBUGVAR(1,243,"sbr_channel_pair_element(): bs_esc_count"));
-            }
-
-            nr_bits_left = 8 * cnt;
-            while (nr_bits_left > 7)
-            {
-                sbr->bs_extension_id = faad_getbits(ld, 2
-                    DEBUGVAR(1,244,"sbr_channel_pair_element(): bs_extension_id"));
-                nr_bits_left -= 2;
-                /* sbr_extension(ld, sbr, 0, nr_bits_left); */
-                faad_getbits(ld, 6
-                    DEBUGVAR(1,281,"sbr_single_channel_element(): bs_extension_data"));
-            }
-        }
-
-        sbr->bs_extended_data[1] = faad_get1bit(ld
-            DEBUGVAR(1,245,"sbr_channel_pair_element(): bs_extended_data[1]"));
-        if (sbr->bs_extended_data[1])
-        {
-            uint16_t nr_bits_left;
-            uint16_t cnt = faad_getbits(ld, 4
-                DEBUGVAR(1,246,"sbr_channel_pair_element(): bs_extension_size"));
-            if (cnt == 15)
-            {
-                cnt += faad_getbits(ld, 8
-                    DEBUGVAR(1,247,"sbr_channel_pair_element(): bs_esc_count"));
-            }
-
-            nr_bits_left = 8 * cnt;
-            while (nr_bits_left > 7)
-            {
-                sbr->bs_extension_id = faad_getbits(ld, 2
-                    DEBUGVAR(1,248,"sbr_channel_pair_element(): bs_extension_id"));
-                nr_bits_left -= 2;
-                /* sbr_extension(ld, sbr, 0, nr_bits_left); */
-                faad_getbits(ld, 6
-                    DEBUGVAR(1,282,"sbr_single_channel_element(): bs_extension_data"));
-            }
-        }
-    }
-}
-
-/* table 7 */
-static void sbr_grid(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t i, env, rel;
-    uint8_t bs_abs_bord, bs_abs_bord_1;
-
-    sbr->bs_frame_class = faad_getbits(ld, 2
-        DEBUGVAR(1,248,"sbr_grid(): bs_frame_class"));
-
-    switch (sbr->bs_frame_class)
-    {
-    case FIXFIX:
-        i = faad_getbits(ld, 2
-            DEBUGVAR(1,249,"sbr_grid(): bs_num_env_raw"));
-
-        sbr->bs_num_env[ch] = min(1 << i, 5);
-        if (sbr->bs_num_env[ch] == 1)
-            sbr->bs_amp_res = 0;
-
-        i = faad_get1bit(ld
-            DEBUGVAR(1,250,"sbr_grid(): bs_freq_res_flag"));
-        for (env = 0; env < sbr->bs_num_env[ch]; env++)
-            sbr->bs_freq_res[ch][env] = i;
-
-        sbr->abs_bord_lead[ch] = 0;
-        sbr->abs_bord_trail[ch] = NO_TIME_SLOTS;
-        break;
-
-    case FIXVAR:
-        bs_abs_bord = faad_getbits(ld, 3
-            DEBUGVAR(1,251,"sbr_grid(): bs_abs_bord")) + NO_TIME_SLOTS;
-        sbr->bs_num_env[ch] = faad_getbits(ld, 2
-            DEBUGVAR(1,252,"sbr_grid(): bs_num_env")) + 1;
-
-        for (rel = 0; rel < sbr->bs_num_env[ch]-1; rel++)
-        {
-            sbr->bs_rel_bord[ch][rel] = 2 * faad_getbits(ld, 2
-                DEBUGVAR(1,253,"sbr_grid(): bs_rel_bord")) + 2;
-        }
-        i = int_log2((uint32_t)(sbr->bs_num_env[ch] + 1));
-        sbr->bs_pointer[ch] = faad_getbits(ld, i
-            DEBUGVAR(1,254,"sbr_grid(): bs_pointer"));
-
-        for (env = 0; env < sbr->bs_num_env[ch]; env++)
-        {
-            sbr->bs_freq_res[ch][sbr->bs_num_env[ch] - env - 1] = faad_get1bit(ld
-                DEBUGVAR(1,255,"sbr_grid(): bs_freq_res"));
-        }
-
-        sbr->abs_bord_lead[ch] = 0;
-        sbr->abs_bord_trail[ch] = bs_abs_bord;
-        break;
-
-    case VARFIX:
-        bs_abs_bord = faad_getbits(ld, 3
-            DEBUGVAR(1,256,"sbr_grid(): bs_abs_bord"));
-        sbr->bs_num_env[ch] = faad_getbits(ld, 2
-            DEBUGVAR(1,257,"sbr_grid(): bs_num_env")) + 1;
-
-        for (rel = 0; rel < sbr->bs_num_env[ch]-1; rel++)
-        {
-            sbr->bs_rel_bord[ch][rel] = 2 * faad_getbits(ld, 2
-                DEBUGVAR(1,258,"sbr_grid(): bs_rel_bord")) + 2;
-        }
-        i = int_log2((uint32_t)(sbr->bs_num_env[ch] + 1));
-        sbr->bs_pointer[ch] = faad_getbits(ld, i
-            DEBUGVAR(1,259,"sbr_grid(): bs_pointer"));
-
-        for (env = 0; env < sbr->bs_num_env[ch]; env++)
-        {
-            sbr->bs_freq_res[ch][env] = faad_get1bit(ld
-                DEBUGVAR(1,260,"sbr_grid(): bs_freq_res"));
-        }
-
-        sbr->abs_bord_lead[ch] = bs_abs_bord;
-        sbr->abs_bord_trail[ch] = NO_TIME_SLOTS;
-        break;
-
-    case VARVAR:
-        bs_abs_bord = faad_getbits(ld, 3
-            DEBUGVAR(1,261,"sbr_grid(): bs_abs_bord_0"));
-        bs_abs_bord_1 = faad_getbits(ld, 3
-            DEBUGVAR(1,262,"sbr_grid(): bs_abs_bord_1")) + NO_TIME_SLOTS;
-        sbr->bs_num_rel_0[ch] = faad_getbits(ld, 2
-            DEBUGVAR(1,263,"sbr_grid(): bs_num_rel_0"));
-        sbr->bs_num_rel_1[ch] = faad_getbits(ld, 2
-            DEBUGVAR(1,264,"sbr_grid(): bs_num_rel_1"));
-        sbr->bs_num_env[ch] = sbr->bs_num_rel_0[ch] + sbr->bs_num_rel_1[ch] + 1;
-
-        for (rel = 0; rel < sbr->bs_num_rel_0[ch]; rel++)
-        {
-            sbr->bs_rel_bord_0[ch][rel] = 2 * faad_getbits(ld, 2
-                DEBUGVAR(1,265,"sbr_grid(): bs_rel_bord")) + 2;
-        }
-        for(rel = 0; rel < sbr->bs_num_rel_1[ch]; rel++)
-        {
-            sbr->bs_rel_bord_1[ch][rel] = 2 * faad_getbits(ld, 2
-                DEBUGVAR(1,266,"sbr_grid(): bs_rel_bord")) + 2;
-        }
-        i = int_log2((uint32_t)(sbr->bs_num_rel_0[ch] + sbr->bs_num_rel_1[ch] + 2));
-        sbr->bs_pointer[ch] = faad_getbits(ld, i
-            DEBUGVAR(1,267,"sbr_grid(): bs_pointer"));
-
-        for (env = 0; env < sbr->bs_num_env[ch]; env++)
-        {
-            sbr->bs_freq_res[ch][env] = faad_get1bit(ld
-                DEBUGVAR(1,268,"sbr_grid(): bs_freq_res"));
-        }
-
-        sbr->abs_bord_lead[ch] = bs_abs_bord;
-        sbr->abs_bord_trail[ch] = bs_abs_bord_1;
-        break;
-    }
-
-    if (sbr->bs_num_env[ch] > 1)
-        sbr->bs_num_noise[ch] = 2;
-    else
-        sbr->bs_num_noise[ch] = 1;
-}
-
-/* table 8 */
-static void sbr_dtdf(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t i;
-
-    for (i = 0; i < sbr->bs_num_env[ch]; i++)
-    {
-        sbr->bs_df_env[ch][i] = faad_get1bit(ld
-            DEBUGVAR(1,269,"sbr_dtdf(): bs_df_env"));
-    }
-
-    for (i = 0; i < sbr->bs_num_noise[ch]; i++)
-    {
-        sbr->bs_df_noise[ch][i] = faad_get1bit(ld
-            DEBUGVAR(1,270,"sbr_dtdf(): bs_df_noise"));
-    }
-}
-
-/* table 9 */
-static void invf_mode(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t n;
-
-    for (n = 0; n < sbr->num_noise_bands[ch]; n++)
-    {
-        sbr->bs_invf_mode_vec[ch][n] = faad_getbits(ld, 2
-            DEBUGVAR(1,271,"invf_mode(): bs_invf_mode_vec"));
-    }
-}
-
-/* table 10 */
-static void sbr_envelope(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t env, band;
-    sbr_huff_tab *t_huff, *f_huff;
-
-    if (sbr->bs_coupling)
-    {
-        if (ch)
-        {
-            if (sbr->bs_amp_res)
-            {
-                t_huff = t_huffman_env_bal_3_0dB;
-                f_huff = f_huffman_env_bal_3_0dB;
-            } else {
-                t_huff = t_huffman_env_bal_1_5dB;
-                f_huff = f_huffman_env_bal_1_5dB;
-            }
-        } else {
-            if (sbr->bs_amp_res)
-            {
-                t_huff = t_huffman_env_3_0dB;
-                f_huff = f_huffman_env_3_0dB;
-            } else {
-                t_huff = t_huffman_env_1_5dB;
-                f_huff = f_huffman_env_1_5dB;
-            }
-        }
-    } else {
-        if (sbr->bs_amp_res)
-        {
-            t_huff = t_huffman_env_3_0dB;
-            f_huff = f_huffman_env_3_0dB;
-        } else {
-            t_huff = t_huffman_env_1_5dB;
-            f_huff = f_huffman_env_1_5dB;
-        }
-    }
-
-    for (env = 0; env < sbr->bs_num_env[ch]; env++)
-    {
-        if (sbr->bs_df_env[ch][env] == 0)
-        {
-            if (sbr->bs_coupling && ch)
-            {
-                if (sbr->bs_amp_res)
-                {
-                    sbr->bs_data_env[ch][env][0] = faad_getbits(ld, 5
-                        DEBUGVAR(1,272,"sbr_envelope(): bs_data_env"));
-                } else {
-                    sbr->bs_data_env[ch][env][0] = faad_getbits(ld, 6
-                        DEBUGVAR(1,273,"sbr_envelope(): bs_data_env"));
-                }
-            } else {
-                if (sbr->bs_amp_res)
-                {
-                    sbr->bs_data_env[ch][env][0] = faad_getbits(ld, 6
-                        DEBUGVAR(1,274,"sbr_envelope(): bs_data_env"));
-                } else {
-                    sbr->bs_data_env[ch][env][0] = faad_getbits(ld, 7
-                        DEBUGVAR(1,275,"sbr_envelope(): bs_data_env"));
-                }
-                for (band = 1; band < sbr->num_env_bands[sbr->bs_freq_res[ch][env]]; band++)
-                {
-                    sbr->bs_data_env[ch][env][band] = sbr_huff_dec(ld, f_huff);
-                }
-            }
-        } else {
-            for (band = 0; band < sbr->num_env_bands[sbr->bs_freq_res[ch][env]]; band++)
-                sbr->bs_data_env[ch][env][band] = sbr_huff_dec(ld, t_huff);
-        }
-    }
-}
-
-/* table 11 */
-static void sbr_noise(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t noise, band;
-    sbr_huff_tab *t_huff, *f_huff;
-
-    if (sbr->bs_coupling)
-    {
-        if (ch) {
-            t_huff = t_huffman_noise_bal_3_0dB;
-            f_huff = f_huffman_noise_bal_3_0dB;
-        } else {
-            t_huff = t_huffman_noise_3_0dB;
-            f_huff = f_huffman_noise_3_0dB;
-        }
-    } else {
-        t_huff = t_huffman_noise_3_0dB;
-        f_huff = f_huffman_noise_3_0dB;
-    }
-
-    for(noise = 0; noise < sbr->bs_num_noise[ch]; noise++)
-    {
-        if(sbr->bs_df_noise[ch][noise] == 0)
-        {
-            if (sbr->bs_coupling && ch)
-            {
-                sbr->bs_data_noise[ch][noise][0] = faad_getbits(ld, 5
-                    DEBUGVAR(1,276,"sbr_noise(): bs_data_noise"));
-            } else {
-                sbr->bs_data_noise[ch][noise][0] = faad_getbits(ld, 5
-                    DEBUGVAR(1,277,"sbr_noise(): bs_data_noise"));
-            }
-            for (band = 1; band < sbr->num_noise_bands[ch]; band++)
-            {
-                sbr->bs_data_noise[ch][noise][band] = sbr_huff_dec(ld, f_huff);
-            }
-        } else {
-            for (band = 0; band < sbr->num_noise_bands[ch]; band++)
-            {
-                sbr->bs_data_noise[ch][noise][band] = sbr_huff_dec(ld, t_huff);
-            }
-        }
-    }
-}
-
-/* table 12 */
-static void sinusoidal_coding(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t n;
-
-    for (n = 0; n < sbr->num_high_res[ch]; n++)
-    {
-        sbr->bs_add_harmonic[ch][n] = faad_get1bit(ld
-            DEBUGVAR(1,278,"sinusoidal_coding(): bs_add_harmonic"));
-    }
-}
-
-
-#endif /* SBR */
\ No newline at end of file
--- a/libfaad/sbr_syntax.h
+++ /dev/null
@@ -1,112 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**  
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-** 
-** This program 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 General Public License for more details.
-** 
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: sbr_syntax.h,v 1.4 2002/09/29 22:19:48 menno Exp $
-**/
-
-#ifndef __SBR_SYNTAX_H__
-#define __SBR_SYNTAX_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "bits.h"
-
-
-#define SBR_STD 12
-#define SBR_HDR 13
-
-#define FIXFIX 0
-#define FIXVAR 1
-#define VARFIX 2
-#define VARVAR 3
-
-#define NO_TIME_SLOTS 16
-
-typedef struct
-{
-    /* really used */
-    uint8_t abs_bord_lead[2];
-    uint8_t abs_bord_trail[2];
-
-
-    /* to get it compiling */
-    /* we'll see during the coding of all the tools, whether
-       these are all used or not.
-    */
-    uint8_t bs_crc_flag;
-    uint8_t bs_sbr_crc_bits;
-    uint8_t bs_protocol_version;
-    uint8_t bs_amp_res;
-    uint8_t bs_start_freq;
-    uint8_t bs_stop_freq;
-    uint8_t bs_xover_band;
-    uint8_t bs_freq_scale;
-    uint8_t bs_alter_scale;
-    uint8_t bs_noise_bands;
-    uint8_t bs_limiter_bands;
-    uint8_t bs_limiter_gains;
-    uint8_t bs_interpol_freq;
-    uint8_t bs_smoothing_mode;
-    uint8_t bs_samplerate_mode;
-    uint8_t bs_add_harmonic_flag[2];
-    uint8_t bs_extended_data[2];
-    uint8_t bs_extension_id;
-    uint8_t bs_coupling;
-    uint8_t bs_frame_class;
-    uint8_t bs_num_env[2];
-    uint8_t bs_freq_res[2][6];
-    uint8_t bs_rel_bord[2][9];
-    uint8_t bs_rel_bord_0[2][9];
-    uint8_t bs_rel_bord_1[2][9];
-    uint8_t bs_pointer[2];
-    uint8_t bs_abs_bord_0[2];
-    uint8_t bs_abs_bord_1[2];
-    uint8_t bs_num_rel_0[2];
-    uint8_t bs_num_rel_1[2];
-    uint8_t bs_num_noise[2];
-    uint8_t bs_df_env[2][9];
-    uint8_t bs_df_noise[2][3];
-    uint8_t num_noise_bands[2];
-    uint8_t bs_invf_mode_vec[2][/*??*/10];
-    uint8_t num_high_res[2];
-    uint8_t bs_add_harmonic[2][/*??*/10];
-    uint16_t bs_data_env[2][/*??*/10][/*??*/10];
-    uint16_t bs_data_noise[2][/*??*/10][/*??*/10];
-    uint8_t num_env_bands[2];
-} sbr_info;
-
-uint8_t sbr_bitstream(bitfile *ld, sbr_info *sbr, uint8_t id_aac,
-                      uint8_t bs_extension_type);
-static void sbr_header(bitfile *ld, sbr_info *sbr, uint8_t id_aac);
-static void sbr_data(bitfile *ld, sbr_info *sbr, uint8_t id_aac);
-static void sbr_single_channel_element(bitfile *ld, sbr_info *sbr);
-static void sbr_channel_pair_element(bitfile *ld, sbr_info *sbr);
-static void sbr_grid(bitfile *ld, sbr_info *sbr, uint8_t ch);
-static void sbr_dtdf(bitfile *ld, sbr_info *sbr, uint8_t ch);
-static void invf_mode(bitfile *ld, sbr_info *sbr, uint8_t ch);
-static void sbr_envelope(bitfile *ld, sbr_info *sbr, uint8_t ch);
-static void sbr_noise(bitfile *ld, sbr_info *sbr, uint8_t ch);
-static void sinusoidal_coding(bitfile *ld, sbr_info *sbr, uint8_t ch);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* __SBR_SYNTAX_H__ */
-
--- a/libfaad/sbr_util.c
+++ /dev/null
@@ -1,248 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-**
-** This program 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 General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: sbr_util.c,v 1.1 2002/09/29 22:19:48 menno Exp $
-**/
-
-#include "common.h"
-
-#ifdef SBR
-
-#include <stdlib.h>
-
-#include "sbr_util.h"
-
-/* calculate the start QMF channel for the master frequency band table */
-/* parameter is also called k0 */
-uint16_t qmf_start_channel(uint8_t bs_start_freq, uint32_t sample_rate)
-{
-    static uint8_t offset[] = {
-        0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20, 24, 28, 33
-    };
-    uint8_t startMin;
-
-    if (sample_rate >= 64000)
-    {
-        startMin = (uint8_t)((5000.*128.)/(float)sample_rate + 0.5);
-    } else if (sample_rate < 32000) {
-        startMin = (uint8_t)((3000.*128.)/(float)sample_rate + 0.5);
-    } else {
-        startMin = (uint8_t)((4000.*128.)/(float)sample_rate + 0.5);
-    }
-
-    return startMin + offset[bs_start_freq];
-}
-
-static int32_t longcmp(const void *a, const void *b)
-{
-    return ((int32_t)(*(int32_t*)a - *(int32_t*)b));
-}
-
-/* calculate the stop QMF channel for the master frequency band table */
-/* parameter is also called k2 */
-uint16_t qmf_stop_channel(uint8_t bs_stop_freq, uint32_t sample_rate,
-                          uint16_t k0)
-{
-    if (bs_stop_freq == 15)
-        return k0 * 3;
-    else if (bs_stop_freq == 14)
-        return k0 * 2;
-    else {
-        uint8_t i;
-        uint8_t stopMin;
-        uint32_t stopDk[13], k2;
-
-        if (sample_rate >= 64000)
-        {
-            stopMin = (uint8_t)((10000.*128.)/(float)sample_rate + 0.5);
-        } else if (sample_rate < 32000) {
-            stopMin = (uint8_t)((6000.*128.)/(float)sample_rate + 0.5);
-        } else {
-            stopMin = (uint8_t)((8000.*128.)/(float)sample_rate + 0.5);
-        }
-
-        /* TODO: PUT THIS IN MAPLE, CAN BE SIMPLIFIED A LOT */
-        for (i = 0; i < 13; i++)
-        {
-            stopDk[i] = (uint32_t)(stopMin*pow(64./(float)stopMin, (i+1)/13.) + 0.5) -
-                (uint32_t)(stopMin*pow(64./(float)stopMin, i/13.) + 0.5);
-        }
-
-        /* needed? or does this always reverse the array? */
-        qsort(stopDk, 13, sizeof(stopDk[0]), longcmp);
-
-        k2 = stopMin;
-        for (i = 0; i < bs_stop_freq-1; i++)
-        {
-            k2 += stopDk[i];
-        }
-        return k2;
-    }
-
-    return 0;
-}
-
-/* calculate the master frequency table from k0, k2, bs_freq_scale
-   and bs_alter_scale
-
-   returns N_master
-
-   version for bs_freq_scale = 0
-*/
-uint32_t master_frequency_table_fs0(int32_t *f_master,
-                                    uint16_t k0, uint16_t k2,
-                                    uint8_t bs_alter_scale)
-{
-    int8_t incr;
-    uint8_t k;
-    uint8_t dk;
-    uint32_t nrBands, k2Achieved;
-    int32_t k2Diff, vDk[100 /*TODO*/];
-
-    /* mft only defined for k2 > k0 */
-    if (k2 <= k0)
-        return 0;
-
-    dk = bs_alter_scale ? 2 : 1;
-    nrBands = 2 * (int32_t)((k2-k0)/(float)dk*2. + 0.5);
-
-    k2Achieved = k0 + nrBands * dk;
-    k2Diff = k2 - k2Achieved;
-    for (k = 0; k <= nrBands; k++)
-        vDk[k] = dk;
-
-    if (k2Diff)
-    {
-        incr = (k2Diff > 0) ? -1 : 1;
-        k = (k2Diff > 0) ? (nrBands-1) : 0;
-
-        while (k2Diff != 0)
-        {
-            vDk[k] = vDk[k] - 1;
-            k += incr;
-            k2Diff += incr;
-        }
-    }
-
-    f_master[0] = k0;
-    for (k = 1; k <= nrBands; k++)
-        f_master[k] = f_master[k-1] + vDk[k-1];
-
-    return nrBands;
-}
-
-/*
-   version for bs_freq_scale > 0
-*/
-uint32_t master_frequency_table(int32_t *f_master,
-                                uint16_t k0, uint16_t k2,
-                                uint8_t bs_freq_scale,
-                                uint8_t bs_alter_scale)
-{
-    uint8_t k, bands, twoRegions;
-    uint16_t k1;
-    uint32_t nrBand0, nrBand1, N_master;
-    int32_t max_vDk0, min_vDk1;
-    int32_t vDk0[100 /*TODO*/], vDk1[100 /*TODO*/];
-    int32_t vk0[100 /*TODO*/], vk1[100 /*TODO*/];
-    float warp;
-    uint8_t temp1[] = { 12, 10, 8 };
-    float temp2[] = { 1.0, 1.3 };
-
-    /* mft only defined for k2 > k0 */
-    if (k2 <= k0)
-        return 0;
-
-    bands = temp1[bs_freq_scale-1];
-    warp = temp2[bs_alter_scale];
-
-    if ((float)k2/(float)k0 > 2.2449)
-    {
-        twoRegions = 1;
-        k1 = 2 * k0;
-    } else {
-        twoRegions = 0;
-        k1 = k2;
-    }
-
-    nrBand0 = 2 * (int32_t)(bands * log(k1/k0)/(2.0*log(2.0)) + 0.5);
-    max_vDk0 = 0;
-    for (k = 0; k <= nrBand0; k++)
-    {
-        vDk0[k] = (int32_t)(k0 * pow((float)k1/(float)k0, (k+1)/(float)nrBand0)+0.5) -
-            (int32_t)(k0 * pow((float)k1/(float)k0, k/(float)nrBand0)+0.5);
-        max_vDk0 = (max_vDk0 < vDk0[k]) ? vDk0[k] : max_vDk0;
-    }
-
-    /* needed? */
-    qsort(vDk0, nrBand0 + 1, sizeof(vDk0[0]), longcmp);
-
-    vk0[0] = k0;
-    for (k = 1; k <= nrBand0; k++)
-    {
-        vk0[k] = vk0[k-1] + vDk0[k-1];
-    }
-
-    if (!twoRegions)
-    {
-        for (k = 0; k <= nrBand0; k++)
-            f_master[k] = vk0[k];
-
-        return nrBand0;
-    }
-
-    nrBand1 = 2 * (int32_t)(bands * log((float)k2/(float)k1)/(2.0 * log(2.0) * warp) + 0.5);
-    min_vDk1 = 9999999;
-    for (k = 0; k <= nrBand1 - 1; k++)
-    {
-        vDk1[k] = (int32_t)(k0 * pow((float)k1/(float)k0, (k+1)/(float)nrBand1)+0.5) -
-            (int32_t)(k0 * pow((float)k1/(float)k0, k/(float)nrBand1)+0.5);
-        min_vDk1 = (min_vDk1 > vDk1[k]) ? vDk1[k] : min_vDk1;
-    }
-
-    if (min_vDk1 < max_vDk0)
-    {
-        int32_t change;
-
-        qsort(vDk1, nrBand1 + 1, sizeof(vDk1[0]), longcmp);
-        change = max_vDk0 - vDk1[0];
-        vDk1[0] = max_vDk0;
-        vDk1[nrBand1 - 1] = vDk1[nrBand1 - 1] - change;
-    }
-
-    qsort(vDk1, nrBand1 + 1, sizeof(vDk1[0]), longcmp);
-    vk1[0] = k1;
-    for (k = 1; k <= nrBand1; k++)
-    {
-        vk1[k] = vk1[k-1] + vDk1[k-1];
-    }
-
-    N_master = nrBand0 + nrBand1;
-    for (k = 0; k <= nrBand0; k++)
-    {
-        f_master[k] = vk0[k];
-    }
-    for (k = nrBand0 + 1; k <= N_master; k++)
-    {
-        f_master[k] = vk1[k - nrBand0];
-    }
-
-    return N_master;
-}
-
-#endif
--- a/libfaad/sbr_util.h
+++ /dev/null
@@ -1,33 +1,0 @@
-/*
-** FAAD - Freeware Advanced Audio Decoder
-** Copyright (C) 2002 M. Bakker
-**  
-** This program is free software; you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation; either version 2 of the License, or
-** (at your option) any later version.
-** 
-** This program 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 General Public License for more details.
-** 
-** You should have received a copy of the GNU General Public License
-** along with this program; if not, write to the Free Software 
-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-**
-** $Id: sbr_util.h,v 1.1 2002/09/29 22:19:48 menno Exp $
-**/
-
-#ifndef __SBR_UTIL_H__
-#define __SBR_UTIL_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-